需要先安装好 Git,VirtualBox,Vagrant 三个必要软件。
在C盘下新建 workspace
文件夹,并且把下载好的 homestead-virtualbox5.1.0.box
文件拷贝到该目录下,并且右键选择 Git Bash Here
在当前目录打开命令窗口。
通过 vagrant box add
命令来完成 Homestead box
的添加
$ vagrant --version
# Vagrant 2.0.1 查看 vagrant 版本,表示 vagrant 已经正常安装
$ vagrant box add laravel/homestead homestead-virtualbox5.1.0.box
执行结果如下图所示:
执行如下命令:
$ git clone https://github.com/laravel/homestead.git
$ cd homestead
$ bash init.sh
执行结果如下图所示:
执行完成后会生成 Homestead.yaml
文件,使用 Nodepad++ 打开该配置文件,相关配置的作用已经通过 # +文字的方式进行了说明
,如下所示:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
# 虚拟机配置,包含了IP地址,内存,cpu,以及驱动类型(virtualbox)
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
# ssh 密钥文件,用来直接登录虚拟主机,后面也会用到此密钥,在后面从 Github 拉取源码时会用到
folders:
- map: ~/code
to: /home/vagrant/code
# 文件映射目录,通过该配置会把 Windows 系统下的文件自动同步到虚拟机上。`~/code` 代表当前系统用户目录下的 `code` 目录,如示例中系统的路径就是`C:\Users\32780\code`,`32780`是当前登录系统的用户名称。
sites:
- map: homestead.test
to: /home/vagrant/code/public
# 站点配置,会自动生成 Laravel 的 nginx 虚拟主机文件。
databases:
- homestead
# 数据库配置,在后续的过程中不是很常用
在最后我们为了实现一个简单的 hello world
,请改为如下配置:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: C:/workspace/code
to: /home/vagrant/code
sites:
- map: homestead.test
to: /home/vagrant/code
databases:
- homestead
在启动 Homestead 虚拟主机前我们需要生成 SSH key,执行如下命令:
$ ssh-keygen -t rsa -C "xxxxx@xxxxx.com" #请替换成你自己的邮箱
# Generating public/private rsa key pair...
# 三次回车即可生成 ssh key
执行 vagrant up
前还需要再做一点小改动,才能保证正常启动。
打开 C:\Users\32780\.vagrant.d\boxes\laravel-VAGRANTSLASH-homestead
目录
请把 32780 替换成你目前登录 windows 系统的用户名
两个改动:
0
改成当前 Homestead 的版本号 5.1.0
https://app.vagrantup.com/laravel/boxes/homestead
即可,不要存在任何多余的空格字符。接下来在 C:\workspace\homestead
目录下执行 vagrant up
启动虚拟主机。
在 C:\workspace\code
目录下添加 index.html
文件,内容只要一个简单的 hello world
即可。创建成功后,文件会自动同步到Homestead
虚拟主机上。
用 Nodepad++ 打开 C:\Windows\System32\drivers\etc\hosts
文件,添加如下代码:
192.168.10.10 homestead.test
浏览器输入 http://homestead.test
接下来把 Laravel 部署到虚拟机中去,就跟完成 hello world 一样,会稍微复杂一点点。
教程中的示例源码我们放在了 github 上,地址:https://github.com/ibrandcc/a...
在 c:\workspace
目录下右键 Git Bash Here
,打开命令窗口,执行如下代码来 clone
源码。
git clone https://github.com/ibrandcc/api-tutorial-source.git
执行完毕后会多出一个 api-tutorial-source
目录。
新增文件同步目录
在 folders:
下添加如下代码
- map: C:/workspace/api-tutorial-source
to: /mnt/www/api.ibrand.test
把源码目录映射同步到虚拟主机上的 /mnt/www/api.ibrand.test
目录下。
增加虚拟主机
在 sites:
下添加如下代码
- map: api.ibrand.test
to: /mnt/www/api.ibrand.test/public
请注意文件中的空白处必须是空格键打出来的空格,不可用 Tab 键。
添加完成后,Homestead.yaml
文件内容如下:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: C:/workspace/code
to: /home/vagrant/code
- map: C:/workspace/api-tutorial-source
to: /mnt/www/api.ibrand.test
sites:
- map: homestead.test
to: /home/vagrant/code
- map: api.ibrand.test
to: /mnt/www/api.ibrand.test/public
databases:
- homestead
Homestead.yaml
在更改后,需要通过 vagrant reload --provision
命令重启虚拟主机并且重载 Homestead.yaml
中的配置信息。
启动之前安装的 Xshell 软件
点击新建
,添加新的会话配置
点击左侧的 用户身份验证
,用户名和密码都输入:vagrant
点击确定按钮,保存设置。
点击连接按钮,进行会话连接,第一次连接会弹出如下提示框,选择接受并保存
操作完成后,会成功登入虚拟机,登入成功后执行 sudo bash
命令切换到 root
账号
$ cd /mnt/www/api.ibrand.test/
$ composer install
$ cp .env.example .env
$ php artisan key:generate
用 Nodepad++ 打开 C:\Windows\System32\drivers\etc\hosts
文件,添加如下代码:
192.168.10.10 api.ibrand.test
浏览器输入 http://api.ibrand.test