?

?
?
注:不需要担心你的版本与我不同。
?
3. 下载 Homestead 管理脚本
因国内网络限制,为方便下载和后续管理脚本的流畅使用,本书中将使用定制版本的 Homestead 脚本,定制版有以下优势:
- 从国内 coding.net 网站下载,下载速度会比?官方?更快;
- 对脚本进行修改,移除了每一次?
provision ?时?composer self-update ?的卡顿。
接下来,使用 Git 下载定制版的 Homestead:
> cd ~ > git clone https://git.coding.net/summerblue/homestead.git Homestead
Windows 下,~ ?目录代表着?C:Users你的用户名 ,而?~/Homestead ?代表着?C:Users你的用户名Homestead ?目录,类似:
?

?
?
注:我们把 Homestead 放在?~/Homestead ?路径下,为方便后面的讲解,请保持一致。
下载完成之后我们使用命令行进入?Homestead ?目录,再使用 Git 检出我们需要的 Homestead 版本:
> cd ~/Homestead > git checkout v7.8.0
注:为了保证后续讲解的流畅性,请注意版本的一致性,这里我们使用?v7.8.0 。
接下来我们需要初始化 Homestead:
> init.bat
运行以上命令后,会在?~/Homestead ?目录下生成以下三个文件:
- Homestead.yaml - 主要配置信息文件,我们可以在此文件中配置 Homestead 的站点和数据库等信息;
- after.sh - 每一次 Homestead 盒子重置后(provision)会调用的 shell 脚本文件;
- aliases - 每一次 Homestead 盒子重置后(provision),会被替换至虚拟机的?
~/.bash_aliases ?文件中,aliases ?里可以放一些快捷命令的定义。
接下来我们将会对?Homestead.yaml ?文件的各项配置信息进行详细讲解。
?
Homestead.yaml 配置文件
?
Homestead.yaml ?文件在?~/Homestead ?文件夹里,在 Git-Bash 里,你可以使用以下命令使用文件夹打开当前命令行所在目录:
> cd ~/Homestead/ > explorer .
可通过运行下面命令快速打开?Homestead.yaml ?文件:
> subl ~/Homestead/Homestead.yaml
为了行文方便,后面如果没有提示的话,?Homestead.yaml ?指的是?~/Homestead/Homestead.yaml ?文件。
Homestead.yaml ?里的配置大致可以分为以下几种:
- 虚拟机设置;
- SSH 秘钥登录配置;
- 共享文件夹配置;
- 站点配置;
- 数据库配置;
- 自定义变量;
接下来我们逐个讲解。
?
1. 虚拟机设置
Homestead 支持我们对虚拟机的 IP,内存,CPU,虚拟机的默认提供者进行配置。这里我们基本不需要做任何配置,因此可以跳过。
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
?
2. SSH 秘钥登录配置
authorize ?选项是指派登录虚拟机授权连接的公钥文件,此文件填写的是主机上的公钥文件地址,虚拟机初始化时,此文件里的内容会被复制存储到虚拟机的?/home/vagrant/.ssh/authorized_keys ?文件中,从而实现 SSH 免密码登录。在这里我们默认填写即可。
authorize: ~/.ssh/id_rsa.pub
keys ?是数组选项,填写的是本机的 SSH 私钥文件地址。虚拟机初始化时,会将此处填写的所有 SSH 私钥文件复制到虚拟机的?/home/vagrant/.ssh/ ?文件夹中,从而使虚拟机能共享主机上的 SSH 私钥文件,使虚拟机具备等同于主机的身份认证。此功能为 SSH 授权提供了便利,例如在后面章节中,我们只需要在 GitHub 上配置一个 SSH 公钥,即可实现 GitHub 对虚拟机和主机共同认证。
此处我们将公钥和私钥一起同步到虚拟机中:
keys:
- ~/.ssh/id_rsa
- ~/.ssh/id_rsa.pub
接下来我们来生成 SSH Key,开始之前,我们先使用以下命令来检查主机上是否已经生成过 SSH Key:
> ls -al ~/.ssh
如果存在?id_rsa ?和?id_rsa.pub ?的话,请跳过以下生成 SSH 的步骤继续阅读剩下内容。 (编辑:威海站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|