- 下载并安装VirtualBox
可能会出现无法安装的情况(出现严重错误)
参考以下文章 安装virtualbox快完成时立即回滚,并提示安装出现严重错误
PS:以上方法都测试过没用QAQ,最后在安装的时候,不选择安装“bridge network”功能后才成功了,这个功能理论上应该只影响桥接功能,暂时应该用不上,先凑合用吧。。。
PS:终于找到真正的解决方法了!!!win10系统下,开启本地网络配置,卸载掉virtualbox ndis6 birdged networking driver后重新安装就可以了!!
- 下载并安装Vagrant
- 下载并安装GIT
- 下载Homestead.box文件(在线下载比较慢)
- 使用cmd在Homestead.box包的路径下执行
// 将Homestead.box包放入vagrant进行管理
vagrant box add laravel/homestead F:/homestead/homestead.box
// 查看包是否安装完成
vagrant box list
- 从github上拉取配置脚本并生成Homestead.yaml文件
git clone https://github.com/laravel/homestead.git Homestead
// 进入文件夹
cd Homestead
// 切换最新版本(release中的最近版本)
git checkout v10.2.0
// 生成Homestead.yaml文件
init.bat
Homestead.yaml文件用于间接修改Vagrantfile文件,因为Homestead.yaml文件被Vagrantfile文件引用
- 修改SSH秘钥
用于实现 SSH 免密码登录镜像BOX中的系统,修改 Homestead.yaml 文件以下内容
keys:
- ~/.ssh/id_rsa
- ~/.ssh/id_rsa.pub
键入命令:ssh-keygen -t rsa -C "email@email.com"
,引号中是你在github上的注册邮箱,之后设定你的ssh密码(一直回车就行,因为本地连接可以不设置密码)
PS:如果有~/.ssh/id_rsa文件了,就不需要再生成了(其中,~代表家目录)
- 配置共享文件夹
Homestead.yaml 文件的 folders 属性里列出所有与 Homestead 环境共享的文件夹。这些文件夹中的文件若有变更,它们会保持本地机器与 Homestead 环境之间同步。你可以根据需要配置多个共享文件夹:
folders:
- map: d:/code
to: /home/vagrant/Code
# map 对应的是我们本机的文件夹
# to 对应的是 Homestead 上的文件夹
- 本地安装的homestead.box的版本号默认为0,为了阻止homestead.box自动更新,需要修改Homestead/scripts/homestead.rb的最小更新版本号为0
// 版本号大于等于0的情况下不更新
config.vm.box_version = settings["version"] ||= ">= 0"
- 测试运行
cd ~/Homestead & vagrant up
- 测试文件夹同步
// 通过 SSH 登录 vagrant(需要先启动 vagrant)
vagrant ssh
// 进入虚拟机的同步文件夹
cd /home/vagrant/code
// 查看文件
ls
// 新建文件
touch aaa.html
之后观察d:/code下是否生成了aaa.html文件
同理在d:/code下新建bbb.php文件,看虚拟机内是否生成了文件
- 使用域名访问到HOMESTEAD虚拟主机
编辑Homestead.yaml文件
sites:
- map: mushishi.com
to: /home/vagrant/code/public
// 默认没有php这个配置,如果vagrant up的时候出出现PHP版本问题,且无法登陆域名502,则可以尝试追加
php: "7.2"
注意:在我们每次对 Homestead.yaml 文件进行了更改之后,都需要运行下面命令来使其更改生效:
// 在虚拟主机开启的情况下(vagrant up之后)
vagrant provision
vagrant reload
/home/vagrant/code/public下建立测试文件index.php
phpinfo();
C:\Windows\System32\drivers\etc\hosts下添加域名
// IP和Homestead.yaml中一致
192.168.10.10 mushishi.com
- 配置全局变量(编辑 ~/.bash_profile)
// 编辑文件(vim 是安装git之后有的命令,用git-bash输入这个命令)
vim ~/.bash_profile
vim使用方法参考:vim编辑器使用说明
// 输入以下内容
function homestead() {
( cd ~/homestead && vagrant $* )
}
// 保存后重新加载文件
source ~/.bash_profile
任意位置测试使用homestead命令
// 等效于vagrant up
homestead up
- 数据库连接
Homestead 下的 MySql 默认帐号和密码
用户名:homestead
密码:secret
本地连接Homestead 数据库的配置