废话不多说,关于Homestead介绍什么百度很多。我们直接开始
那么我们需要做的几个步骤如下:
下载并安装Vagrant及Virtual Box,Homestead并配置。
创建一个新的Laravel项目。
我们需要安装的软件:
Git Bash
Vagrant
Virtual Box
Homestead
我这里都已经上传到百度云上了。直接下载即可
几个软件安装都很简单,下一步下一步默认安装即可。完成后重启电脑
接下来新建一个文件夹名为homestead,然后我将下好的homestead.box放入,然后右击,Git Bash,在此文件夹内运行如下命令。
vagrant box add laravel/homestead homestead.box
接着运行 list 命令,查看box是否添加进来了
vagrant box list
然后,我们就会在你的家目录中,找到一个name为.vagrant.d这样的文件夹。例如我这里,就是如下图所示
这里有一个坑,我们得填一下。vagrant box list显示出,有我们的homestead,但是括号里面:virtualbox,0就奇怪了。0又是什么意思呢,是标识我们这个box的版本号,我们下载的最新版5.2.0版本,所以需要改一下版本号的问题。
如上图,我们进入boxes文件夹,有一个 name为laravel-VAGRANTSLASH-homestead这样的文件夹,再进去,有个名字为0的文件夹。我们把这个文件夹重命名为我们version的名字:5.2.0。然后我们再重新执行
vagrant box list
接下来,非常重要的一个步骤
还是在这个文件夹里面.vagrant.d\boxes\laravel-VAGRANTSLASH-homestead
在该文件夹下新建一个叫metadata_url的空白文件(注意不要有任何文件名后缀,如果你的系统设置了自动隐藏后缀名,请将隐藏去掉,确认文件无任何后缀):
文件的内容里,添加以下链接:
https://app.vagrantup.com/laravel/boxes/homestead
注意,不要留任何空白字符,保存文件。
完成之后,我们就可以开始配置Homestead了。
我们停留在我们家目录C:/Users/admin 这里。右击鼠标,git Bash。在我们家目录clone homestead并配置它
git clone https://github.com/laravel/homestead.git Homestead
接着在已经克隆下来的文件夹内,会发现bash init.sh,则运行
bash init.sh
那么此时,文件夹内,就多了这样一个文件Homestead.yaml
然后,我们开始配置Homestead.yaml
设置 IP及Provider
Homestead.yaml文件中的provider键表示使用哪个 Vagrant 提供者:virtualbox或者vmware_workstation,你可以将其设置为自己喜欢的提供者:
ip: "192.168.10.10"
provider: virtualbox
设置SSH-Key
在用户的主目录下,看看有没有.ssh目录,比如我的目录,是/c/User/admin。目录下有没有id_rsa 和 id_rsa.pub 这两个文件。如果没有,那么需要创建SSH Key。很简单,一句话
ssh-keygen -t rsa -C "youremail@example.com"
直接enter,enter就行了
两个文件,分别对应配置文件中
authorize : ~/.ssh/id_rsa.pubkeys:
-~/.ssh/id_rsa
配置共享文件夹
Homestead.yaml文件中的folders属性列出了所有主机和 Homestead 虚拟机共享的文件夹,一旦这些目录中的文件有了修改,将会在本地和 Homestead 虚拟机之间保持同步,如果有需要的话,你可以配置多个共享文件夹(一般一个就够了):
folders:
- map: E:/Laravel/www #(这是我本地的文件夹)
to: /var/www
配置 Nginx 站点
对 Nginx 不熟?没问题,通过sites属性你可以方便地将“域名”映射到 Homestead 虚拟机的指定目录,Homestead.yaml中默认已经配置了一个示例站点。和共享文件夹一样,你可以配置多个站点:
sites:
- map: hansel.com
to: /var/www/hansel/public
如果你是在 Homestead 盒子启动之后进行了上述修改,需要运行 vagrant reload --provision 更新虚拟机上的 Nginx 配置。
Hosts文件
不要忘记把 Nginx 站点配置中的域名添加到本地机器上的hosts文件中,该文件会将对本地域名的请求重定向到 Homestead 虚拟机,在 Mac 或 Linux上,该文件位于/etc/hosts,在 Windows 上,位于C:\Windows\System32\drivers\etc\hosts,添加方式如下:
192.168.10.10 hansel.com
虚拟机环境下默认的MySQL服务器管理员用户名为homestead,密码是secret。
将Homestead.yaml保存,我们就可以启动Vagrant了
vagrant up
接下来,要进入Homestead,我们输入
vagrant ssh
还差一步,我们就大工告成:
# cd 进入我们共享的文件夹
cd /var/www
创建一个新的laravel项目
laravel new hansel
等待一段时间
我们在影射的windows文件夹看一下,项目文件已经有了
那么,我们打开浏览器,访问项目域名 hansel.com