必定成功-拒绝恐惧,面向小白的Laravel Homestead环境搭建(上篇)
序言
一旦站在高处,再也难以回到小白。如同《全职高手》中的荣耀大神叶秋,面对小白知识,还要看介绍。换到我们技术开发上来说,那就是站在高处,再也难以写出小白的文章。
我是小白,这一刻,让你拒绝恐惧!
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
方法一
# 在出现的窗口中,输入以下命令
vagrant box add laravel/homestead
这是一个漫长的过程,等上一两天都有可能无法下载完成。打开墙后,下载速度仍旧很慢很慢。推荐如下方法二。
方法二:迅雷下载
使用方法一的命令之后,在窗口中会出现下载virtualbox.box的链接地址,复制地址到迅雷中进行下载。最好开个会员,不然下载速度仍旧很慢。这里不得不说,国家的真的很强大。
我下载的virtualbox.box的版本是10.1.1。通过此url查看版本https://app.vagrantup.com/laravel/boxes/homestead。
导入box
# 添加box
vagrant box add laravel/homestead D:\virtualbox.box
# 查看box
vagrant box list
vargrant box list 返回laravel/homestead (virtualbox, 0) 说明已经返回成功
到这里,这一安装已经完成,重要的步骤来了,安装Homestead
安装Homestead 管理脚本
仍旧是在 导入virtualbox.box 这一步打开的git base窗口中进行操作,此时还是位的D盘根目录。
git clone https://github.com/laravel/homestead.git Homestead
这一步有可能会很慢,也可能会很快,如果慢的难以忍受了,就打开墙吧。
cd Homestead
bash init.sh
执行bash init.sh
后会生成三个如下文件:
- Homestead.yaml主要信息配置文件,如站点目录、虚拟主机
- after.sh每一次重启盒子之后会被调用
- aliases每一次盒子重置之后会被替换到虚拟机的~/.bash_aliases文件中
Homestead.yaml 配置文件介绍并直接修改配置
使用编辑打开Homestead.yalm文件
---
# 对虚拟机系统进行配置
# 对系统的ip、内存、cpu进行配置
ip: "192.168.10.10"
memory: 2048
cpus: 2
# 指定虚拟软件
provider: virtualbox
# 秘钥
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
# 共享文件夹配置
folders:
# 对应本机(也就是win10)中的开发目录
- map: D:/Homestead_web
# 对应Homestead上的文件夹
to: /home/vagrant/code
# 站点配置,在这里可以配置多个站点
sites:
# 虚拟主机域名
- map: demo01.com
# 对应本地开发项目的路径
to: /home/vagrant/code/laravel/demo01/blog/public
# 数据库
databases:
- demo01
features:
- mariadb: false
- ohmyzsh: false
- webdriver: false
# ports:
# - send: 50000
# to: 5000
# - send: 7777
# to: 777
# protocol: udp
对于这些配置,有的并不是很了解,还在学习过程中。
修改windows hosts文件
路径C:\Windows\System32\drivers\etc
打开hosts文件,添加如下配置:
192.168.10.10 demo01.com
使用vagrant启动虚拟机
# 在D:\Homestead目录中启动虚拟机
vagrant up
修改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,则进行相关配置
# 配置ssl
ssh-keygen
由于开始不知道,我全部使用回车键。
后面根据找的方法来,别人的配置方法如下:
# 后面发现别人是这样配置的,我没有按照这个进行配置
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
eval "$(ssh-agent -s)"
ssh-add -k ~/.ssh/id_rsa
配置到这到,已经全部配置成功了。
再次使用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日