必定成功-拒绝恐惧,面向小白的Laravel Homestead环境搭建(上篇)

作者: 温新

分类: 【Laravel】

阅读: 2817

时间: 2020-10-25 10:02:00

序言

一旦站在高处,再也难以回到小白。如同《全职高手》中的荣耀大神叶秋,面对小白知识,还要看介绍。换到我们技术开发上来说,那就是站在高处,再也难以写出小白的文章。

我是小白,这一刻,让你拒绝恐惧!

Laravel是一个非常优秀的PHP框架。根据Laravel官方推荐的Homestad环境来看,已经吓退了一部分开发者,也就是还没有开始就已经放弃了。就我而言,我放弃了官方推荐的环境,而使用集成环境。如今再次想要尝试安装官方推荐的环境,仍旧不容易,尝试下来发现不是很难,难的是报错,因为你不到解决的方法。因为它是开源,因为不懂它,报错往往就意味着,放弃已经开始了。

我零零散散花了一天时间,终于把Laravel Homestad弄好了。这期间遇到了很多报错,有的解决了,有的未解决,下面在安装的过程中会有记录。虽然遇到报错,但总算成功了,这一刻,让你拒绝内心的恐惧,我是小白!欢迎各位加我,一起前进!

准备工作

系统版本:win10专业版,版本号:2004

虚拟机版本:VirtualBox-6.0.14-133895-Win.exe

管理工具版本:vagrant_2.2.6_x86_64.msi

版本控制软件:git.2.26.2

后面关于Homestead与virtualbox.box全部安装在D盘,如果没有说明,后面的安装全部基于D盘。

1)VirtualBox与vagrant我安装在了C盘。这个根据自己的实际情况来选择;

2)为了确保安装成功,请一定使用如上版本。若使用了最新版而导致了错误,那么很抱歉,我目前无法决绝。

这是一个安装过程的内心记录,可以跳过,不影响下面的安装。

10月24日晚上,心血来潮想要再次尝试下官方推荐的环境,而我对这些配套的环境并不了解。

关于VirtualBox,我直接使用了官方的最新版,最终导致了一个Vagrant无法管理这个最新版本的问题,尝试者去解决这个问题,最终的结果是没有解决,不得已卸载了最新版。

注意:对于已经安装了的开发者,如果不知道解决方法,千万不要升级最新版,因为它会导致致命性错误。如果知道解决方法,请不吝赐教,谢谢!

关于VirtualBox与vagrant这个两个软件的安装过程就不再多说了,下载下来后,一直下一步就行了。关于Vagrant安装的过程会重启电脑一次。

导入virtualbox.box

步骤一:进入电脑D盘

步骤二:D盘根目录下右键Git Bash Here

方法一

<span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 在出现的窗口中,输入以下命令</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">vagrant box add laravel/homestead</span>

这是一个漫长的过程,等上一两天都有可能无法下载完成。打开墙后,下载速度仍旧很慢很慢。推荐如下方法二。

方法二:迅雷下载

使用方法一的命令之后,在窗口中会出现下载virtualbox.box的链接地址,复制地址到迅雷中进行下载。最好开个会员,不然下载速度仍旧很慢。这里不得不说,国家的真的很强大。

我下载的virtualbox.box的版本是10.1.1。通过此url查看版本https://app.vagrantup.com/laravel/boxes/homestead

导入box

<span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 添加box</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">vagrant box add laravel/homestead D:\virtualbox.box</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box"></span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 查看box</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">vagrant box list</span>

vargrant box list 返回laravel/homestead (virtualbox, 0) 说明已经返回成功

到这里,这一安装已经完成,重要的步骤来了,安装Homestead

安装Homestead 管理脚本

仍旧是在 导入virtualbox.box 这一步打开的git base窗口中进行操作,此时还是位的D盘根目录。

git clone https://github.com/laravel/homestead.git Homestead

这一步有可能会很慢,也可能会很快,如果慢的难以忍受了,就打开墙吧。

<span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(255, 203, 107)">cd</span> Homestead</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(255, 203, 107)">bash</span> init.sh</span>

执行bash init.sh后会生成三个如下文件:

  • Homestead.yaml主要信息配置文件,如站点目录、虚拟主机
  • after.sh每一次重启盒子之后会被调用
  • aliases每一次盒子重置之后会被替换到虚拟机的~/.bash_aliases文件中

Homestead.yaml 配置文件介绍并直接修改配置

使用编辑打开Homestead.yalm文件

<span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(199, 146, 234)">---</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 对虚拟机系统进行配置</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 对系统的ip、内存、cpu进行配置</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">ip: <span style="box-sizing: border-box;color: rgb(195, 232, 141)">"192.168.10.10"</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">memory: <span style="box-sizing: border-box;color: rgb(255, 83, 112)">2048</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">cpus: <span style="box-sizing: border-box;color: rgb(255, 83, 112)">2</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 指定虚拟软件</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">provider: virtualbox</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box"></span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 秘钥</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">authorize: ~/.ssh/id_rsa.pub</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box"></span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">keys:</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">    <span style="box-sizing: border-box;color: rgb(199, 146, 234)">-</span> ~/.ssh/id_rsa</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box"></span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 共享文件夹配置</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">folders:</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"> <span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 对应本机(也就是win10)中的开发目录</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">    <span style="box-sizing: border-box;color: rgb(199, 146, 234)">-</span> map: D:/Homestead_web</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">    <span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 对应Homestead上的文件夹</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">      to: /home/vagrant/code</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box"></span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 站点配置,在这里可以配置多个站点</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">sites:</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"> <span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 虚拟主机域名</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">    <span style="box-sizing: border-box;color: rgb(199, 146, 234)">-</span> map: demo01.com</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">    <span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 对应本地开发项目的路径</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">      to: /home/vagrant/code/laravel/demo01/blog/public</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 数据库</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">databases:</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">    <span style="box-sizing: border-box;color: rgb(199, 146, 234)">-</span> demo01</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box"></span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">features:</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">    <span style="box-sizing: border-box;color: rgb(199, 146, 234)">-</span> mariadb: <span style="box-sizing: border-box;color: rgb(247, 140, 108)">false</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">    <span style="box-sizing: border-box;color: rgb(199, 146, 234)">-</span> ohmyzsh: <span style="box-sizing: border-box;color: rgb(247, 140, 108)">false</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">    <span style="box-sizing: border-box;color: rgb(199, 146, 234)">-</span> webdriver: <span style="box-sizing: border-box;color: rgb(247, 140, 108)">false</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box"></span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># ports:</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)">#     - send: 50000</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)">#       to: 5000</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)">#     - send: 7777</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)">#       to: 777</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)">#       protocol: udp</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box"></span></span>

对于这些配置,有的并不是很了解,还在学习过程中。

修改windows hosts文件

路径C:\Windows\System32\drivers\etc

打开hosts文件,添加如下配置:

192.168.10.10 demo01.com

使用vagrant启动虚拟机

<span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 在D:\Homestead目录中启动虚拟机</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">vagrant up</span>

修改homestead.rb文件

使用vagrant up启动虚拟机时,会一直去下载最新版本的vitualbox.box,这里通过修改版本来解决。

步骤一:打开 D:\Homestead\scripts 目录

步骤二:编辑该目录下的homestead.rb文件

步骤三:修改配置

config.vm.box_version = settings['version'] ||= '~> 9'改为config.vm.box_version = settings["version"] ||= ">= 0"

使用vagrant up启动报错的解决方法

报错:Call to WHvSetupPartition failed

Call to WHvSetupPartition failed: ERROR_SUCCESS (Last=0xc000000d/87) (VERR_NEM_VM_CREATE_FAILED).

解决方法

步骤一:打开windows功能

关闭Hyper-v、虚拟机平台

步骤二:以管理员身份打开windows PowerShell或使用cmd

命令行窗口中输入bcdedit /set hypervisorlaunchtype off

然后重启电脑即可

配置ssl

启动时若提示没有配置ssl,则进行相关配置

<span style="box-sizing: border-box;padding-right: 0.1px"># 配置ssl</span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">ssh-keygen</span>

由于开始不知道,我全部使用回车键。

后面根据找的方法来,别人的配置方法如下:

<span style="box-sizing: border-box;padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(103, 110, 149)"># 后面发现别人是这样配置的,我没有按照这个进行配置</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">ssh-keygen <span style="box-sizing: border-box;color: rgb(199, 146, 234)">-t</span> rsa <span style="box-sizing: border-box;color: rgb(199, 146, 234)">-b</span> <span style="box-sizing: border-box;color: rgb(255, 83, 112)">4096</span> <span style="box-sizing: border-box;color: rgb(199, 146, 234)">-C</span> <span style="box-sizing: border-box;color: rgb(195, 232, 141)">"your_email@example.com"</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">eval <span style="box-sizing: border-box;color: rgb(195, 232, 141)">"</span><span style="box-sizing: border-box;color: rgb(0, 153, 0)">$(ssh-agent -s)</span><span style="box-sizing: border-box;color: rgb(195, 232, 141)">"</span></span><br></br><span style="box-sizing: border-box;padding-right: 0.1px">ssh-add <span style="box-sizing: border-box;color: rgb(199, 146, 234)">-k</span> ~/.ssh/id_rsa</span>

配置到这到,已经全部配置成功了。

再次使用vagrant up启动虚拟机

vagrant up

这一次启动成功。

安装Laravel8

步骤一:创建开发目录

D盘根目录创建代码开发目录Homestead_web\laravel

如:D:\Homestead_web\laravel

步骤二:创建项目目录(注意)此目录要与sites目录中的to路径一致

创建项目目录:D:\Homestead_web\laravel\demo01

步骤三:下载laravel8

打开Windows PowerShell并切换到 D:\Homestead_web\laravel\demo01 目录

PS D:\Homestead_web\laravel\demo01> composer create-project --prefer-dist laravel/laravel blog

下载完成后,输入demo01.com即可看到laravel界面。

由于篇幅原因,本篇文章分为2篇进行记录。下篇请点击链接阅读 必定成功-拒绝恐惧,面向小白的Laravel Homestead环境搭建(下篇)

我是小白,期待和优秀的你一起同行!

小白

2020年10月25日

请登录后再评论