为了保证在学习和工作过程中避免因为开发环境不一致而导致各种各样的问题,Laravel 官方为了我们提供了一个完美的开发环境 Laravel Homestead,让我们无需再本地安装 PHP,web 服务器或任何服务软件。
Homestead 可以在任何 Windows、Mac 或 Linux 系统上运行,它包括了 Nginx Web 服务器、PHP 7.1、MySQL、PostgresSQL、Redis、Memcached、Node 以及开发 laravel 应用所需的东西。
Homestead 内置软件:
Ubuntu 16.04
Git
PHP 7.1
Nginx
MySQL
MariaDB
Sqlite3
Postgres
Composer
Node (带有 Yarn、Bower、Grunt 和 Gulp)
Redis
Memcached
Beanstalkd
Mailhog
ngrok
对于初学者相关的软件和知识点可能还不太了解,但是无需担心,在后续的教程中会陆续使用并且会有相应的章节进行详细的讲解。本次系列教程,我们将使用目前最新的版本 Homestead 5.1.0 + vagrant 2.0.1 + VirtualBox 5.2.6 + Win10 来进行开发环境的搭建。
这套软件环境在 Win7 上也可以正常使用。相关的软件我们已经整理在百度网盘上,有如下软件:
Git:对源码进行版本管理。
TortoiseGit:对于初学者不熟悉命令时,可以使用该可视化工具代理命令来管理源码。
SourceTreeSetup:图形化 git 管理 + Git Flow 工具
Xshell:安全的终端管理软件,通过 SSH 来登录 Linux 系统。
VirtualBox: 虚拟机软件
Vagrant:创建虚拟化开发环境工具
homestead-virtualbox5.1.0: Homestead VirtualBox 下的虚拟机文件。
WinSCP: WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。
Notepad++: 是 Windows操作系统下的一套比较好用文本编辑器,不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。
以上软件可在百度网盘上进行下载,链接:https://pan.baidu.com/s/1bqVD5MJ 密码:4lku
建议安装先后顺序:Git->TortoiseGit->Xshell->SourceTreeSetup->VirtualBox->Vagrant->Homestead
除了 Homestead 外,其他软件傻瓜式下一步安装下去即可,一些软件的使用在后续章节也会做相关介绍。
重要说明:因为篇幅有限,文中牵涉的软件暂时不会进行详细的介绍,该文章最终目的是保证初学者按照操作后,能够成功建立开发环境。 Vagrant 的一些常用命令,可以通过 Google 或百度搜索相关文章。 安装 Homestead需要先安装好 Git,VirtualBox,Vagrant 三个必要软件。
添加 Homestead Box在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执行结果如下图所示:
配置 Homestead执行如下命令:
$ 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 # 数据库配置,在后续的过程中不是很常用