[教程] Windowsss 下的 Homestad 环境部署
最近因为一些原因需要转移到 Homestead
上开发,折腾了差不多一天,Windows下总算是装部署好了 Homestead
,总体来说,windows下相比 mac/linux 安装要复杂那么一点点。想要安装的同学也不用慌,坑也被我踩的差不多了,只需要跟着下面一步步的做就可以了。
下面是我详细的安装过程:
硬件:
Window7/Window8
软件:
VirtualBox
Vagrant
Laravel Homestead
Git
首先安装好 VirtualBox
和 Vagrant
,安装完成 Vagrant
后需要重启,重启后执行
vagrant -v
说明安装完成,提示找不到命令的把 vagrant
的bin目录加入环境变量即可。
接下来你需要执行 vagrant box add laravel/homestead
来安装 homestead 的虚拟机文件,但是以目前来看,国内这样做是下载不来的,这是下载链接
https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.2.6/providers/virtualbox.box
使用下载工具搞定后,就需要安装了,在同一目录下执行
vagrant box add laravel/homestead ./homestead-0-2-6-vb.box
等待数秒即可安装完毕,add 后面两个参数,前面的自己随便取个名称,后面的是下载来的 .box
文件。
接下来的操作需要用到 git bash
这个工具(下面全部命令都将在 bash 下执行),下载安装好 git
之后打开 'git bash',
随便找个目录下(这里假定在桌面),执行
git clone https://github.com/laravel/homestead.git Homestead
接在在 Homestead 下执行 bash init.sh
会在 C 盘生成一些 homestead 的配置文件,下面后修改这些配置。
在 C:\Users\li.homestead 找到 Homestead.yaml,下面是我的配置
---
ip: "192.168.10.10" <!-- 虚拟机 ip -->
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: E:\Projects <!-- 我的window项目地址 -->
to: /home/vagrant/Code <!-- 对应虚拟机的项目地址 -->
sites:
- map: laravel.dev <!-- 添加的第一个站点名称 -->
to: /home/vagrant/Code/laravel-dev/public <!-- 该站点对应的虚拟机文件 -->
databases:
- homestead
variables:
- key: APP_ENV
value: local
现在配置 SSH ,也就是上面配置中看到 ~/.ssh/id_rsa.pub
和 ~/.ssh/id_rsa
在 git bash中运行 ssh-keygen -t rsa -C "you@homestead"
,这里填自己的邮箱就可以了。 接下里几个 回车
,完成配置。
去我们的 E 盘中创建 Projects 文件夹,接着来我们的 Homestead 文件夹下运行 vargrant init
初始化,得到 Vagrantfile 文件。然后运行 vagrant up
,第一次运行时会在 C 盘创建虚拟机文件,所以耐性等待,接下来看到我们的虚拟机启动成功。
在浏览器中打开 localhost:8000
,看到以下画面说明,homestead已经搭建成功。
接下来修改我们 windows
的host文件(不知道的同学自行百度),在后面加上
192.168.10.10 laravel.dev
然后访问可以看到同样画面。
这里要明白:配置中的
folders:
- map: E:\Projects <!-- 我的window项目地址 -->
to: /home/vagrant/Code <!-- 对应虚拟机的项目地址 -->
就是将主机与虚拟的这个两个目录共享,虚拟机中的目录是站点目录,可以认为是我们之前所用的 www 目录和 htdocs 目录。好了,在 Projects中新建一个laravel项目名称为 laravel-dev (这里是为什么请自行理解),然后在打开浏览器访问 laravel.dev,就是我们熟悉的画面了。
接下来可以进入我们的虚拟机看看环境什么的。通过 vagrant ssh
进入到虚拟机
最后,安装参考这篇文章 link,貌似国内进不去,需要参考的同学自行解决!
文章地址发表在我的博客。
补充
添加新的站点, homestead edit
添加新的目录和数据库名,如下
folders:
- map: E:/Projects
to: /home/vagrant/Code
sites:
- map: crud.dev
to: /home/vagrant/Code/crud-dev/public
- map: laravel.dev
to: /home/vagrant/Code/laravel-dev/public
- map: oshare.dev
to: /home/vagrant/Code/oshare-dev/public
databases:
- homestead
- curd
- oshare
一目了然吧,不过每次添加之后需要在项目文件目录下执行
composer require laravel/homestead
php vendor/bin/homestead make
然后在 Homestead 目录下 vagrant provision
以上参考官方文档,有不足之处可以提出改进
推荐文章: