windows系统下使用vagrant手动安装Homestead

Posted by

今天尝试了一下,使用vagrant安装Homestead。由于一些因素,导致通过vagrant在线添加镜像十分的缓慢。然后尝试了一下,手动安装laravel官方的Homestead镜像。过程十分的区别,将攻略整理如下。

第一步:先安装VirtualBox,Vagrant以及Git Bash

这里要特别注意的是,CPU必须开启VT-x虚拟化的技术,具体请搜索下。

第二步:手动下载Homestead.box的文件

国内百度云里有不少资源,文武双全手动上传到百度云里了,地址是

https://pan.baidu.com/s/1sl8oiBF

第三步:使用git下载Homestead的配置文件

在电脑里建立一个vagrant目录,存放git下载的box配置文件,在vagrant目录打开bit bash执行以下git命令。

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

第四步:在Homestead目录下执行初始化命令

cd Homestead

bash init.sh

第五步:创建homestead.json的手动安装配置文件

在homestead目录下,使用vim homestead.json命令新建文件,复制以下代码
{
"name": "laravel/homestead",
"versions": [
{
"version": "2.1.0",
"providers": [
{
"name": "virtualbox",
"url": "E:/BaiduNetdiskDownload/homestead.box"
}
]
}
]
}

这里注意version键要填写正确的版本号,url键的值填写第二步时下载的homestead.box文件的物理路径

第六步:使用vagrant添加镜像

git bash命令行下,在Homestead目录内,执行以下命令,

vagrant box add homestead.json

第七步:执行以下命令查看box是否已经添加

vagrant box list

第八步:生成或者配置你的SSH密钥

生成SSH密钥的命令是:

ssh-keygen -t rsa -C "you@homestead"

生成的密钥位置一般在,windows用户目录的.ssh文件夹内,例如C:\Users\administrator\.ssh

第九步:修改Homestead.yaml配置文件,参考下图

homestead.yaml配置文件参考
homestead.yaml配置文件参考

这里要注意,本地和虚拟机里对应的目录,可能需要在vagrant up启动后手动建立。命令为mkdir  目录名。

第十步:启动虚拟机,修改本机的SSH私钥和虚拟机的SSH公钥

可以在git bash下使用,vagrant up命令启动虚拟机,第一次启动会因为SSH密钥没有正确配置,导致SSH登录失败。

可以通过vagrant ssh-config命令查看本地私钥的地址,然后修改为刚刚生成的新的私钥。

第十一步:登录虚拟机,然后修改公钥

在git bash下输入命令:

ssh -p 2222 vagrant@127.0.0.1

输入vagrant用户的默认密码vagrant,使用vim /etc/passwd 命令查看vagrant用户的根目录,默认为/home/vagrant。

进入/home/vagrant/.ssh目录,修改公钥。

除了上述方法,还可以使用更简单更直接的vagrant ssh命令登陆虚拟机。

第十二步:重新启动虚拟机的方法

可以在git bash里,通过vagrant halt命令手动关闭虚拟机。然后再在git bash里,执行vagrant up命令重启虚拟机。

vagrant命令执行完毕后,系统后提示可以执行 vagrant  provision命令,执行命令进行预处理。

第十三步:千万别忘记修改composer的全局配置文件,使用中国镜像

千万别忘记,更换composer的中国区镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com

第十四步:使用composer安装laravel

使用命令 cd /home/vagrant/Code 目录执行创建项目的命令

composer create-project laravel/laravel=5.4.*  --prefer-dist

第十五步:测试虚拟机里的网站是否可以正常访问

浏览器输入 homestead.app,正常情况下会显示laravel站点的欢迎界面。如果无法打开,亲修改windows系统的host文件。在最后面添加一行。

192.168.10.10 homestead.app

第十六步:访问homestead自带的mysql数据库或者postgres

在Navicat里新建连接,HOST填写 127.0.0.1,端口写33060(mysql)或者54320(Postgres),账号和密码分别是homestead/secret

备注一:镜像文档地址

英文官方文档:https://laravel.com/docs/5.4/homestead

中文民间文档 : https://docs.golaravel.com/docs/5.4/homestead/

备注二:镜像手动下载地址,注意修改版本号

https://atlas.hashicorp.com/laravel/boxes/homestead/versions/2.1.0/providers/virtualbox.box

备注三:镜像最新版本号查看

https://atlas.hashicorp.com/laravel/boxes/homestead

备注四:全宇宙最全的镜像查询地址

https://atlas.hashicorp.com/boxes/search

文武双全的总结

过程虽然曲折,但是vagrant很强大,值得每个开发和运维学习。感觉vagrant用于开发环境,以及docker用于生产环境很配。更多具体的vagrant的用法,可以参考laravel的官方文档,有一些细节性的东西。

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据