怎样安装开发 Laravel 5.1 必要的软件: VirtualBox 和 Vagrant
注意,这是本教程的开始。在继续下一步之前,你应该安装 VirtualBox 和 Vagrant。
本章讨论了使用 Laravel 5.1 开发应用程序需要哪些软件和组件,以及为什么需要它们。提供了安装 VirtualBox 和 Vagrant 的说明。
虚拟机的兴起
在过去的几年里,虚拟机已经进入了他们自己的世界。Virtual Machines (或者 VMs) 允许一个计算机系统(主机操作系统)模拟另外一个计算机系统。当然,VM 已经存在了一段时间了,但是现在随着处理器速度的提高和廉价的内存 VM 可以在每个开发者的桌面上进行。
Laravel 贴近了 VM 技术,并将它自己的常用 web 开发应用的组件打包为 “box”(ps:运行环境) ,并对 web 应用程序进行了最常见的需求。这种预封装的开发环境被称为
关于 Laravel Homestead
Laravel 的一个开发目的是让 PHP 开发既有趣又简单。为此 Laravel 提供了一个预先打包的开发环境,叫做 Laravel Homestead 。Vagrant 用于管理虚拟机。这是因为 VirtualBox 提供了主机操作系统的接口。
一辆 汽车 用以说明这一切是如何一起工作的是一个完美的比喻。Homestead 是司机的驾驶位置,Vagrant 是汽车的车架,而 VirtualBox 是引擎。一旦安装了 Vagrant 和 VirtualBox,就没有必要再管它们了。所有与 VM 的交互都使用 Homestead。(就像驾驶汽车一样,没有必要关注车架和引擎)
使用 Laravel Homestead 允许你使用虚拟的Ubuntu Linux,预先安装了 web 开发所需的软件。这个 VM 包括:
最重要的是,使用 Homestead Vagrant 可以在Windows、OS X 或 Linux 系统上使用相同的开发环境,而不用担心主机上的软件冲突。
安装 Virtual Box
Vagrant 需要一个后台服务来提供它所能管理的虚拟机。如果你已经有 VirtualBox , 或者 VMWare , 或另一个兼容的provider 你可以跳过这一步。
但是如果没有安装后台服务,可以安装 VirtualBox 软件包。它是免费的并且在每个主要平台上都能运行。
配图 2.1 - Virtualbox 下载页
安装 Vagrant
一旦你安装了 VirtualBox (或者其他的后台服务 provider), 你需要安装 Vagrant.
配图 2.2 - Vagrant 主页
烦恼歌问 www.vagrantup.com, 下载并安装你对应系统的软件包.
当 Vagrant 的安装完成后,您可能需要重新启动您的机器。重新启动后,通过打开控制台( Windows 中的命令提示符、OS X 或 Linux 中的终端)和验证版本来验证是否完成安装
检查 Vagrant 版本
% vagrant --version
Vagrant 1.6.5
Vagrant Windows 安装位置
与安装在 Windows 中的大多数软件不同,在Windows 开始菜单中,Vagrant 是找不到的。它会安装到 C:\HashiCorp 目录中,并添加 C:\HashiCorp\Vagrant\bin 到 Windows 系统变量。
我应该在哪里运行这些东西?
在接下来的几章里,安装和运行 Laravel Homestead 的一个常见问题是 “我在哪运行…?” 或者 “……跑哪儿去了?”. 这一节简要概述了 Homestead 内 Laravel 开发的主要组成部分,并回答了这些问题。
Web Server
Web服务器运行在 Homestead 虚拟机中。
Nginx 是用于服务web页面的web服务器。主机操作系统可以在地址192.168.10.10 上使用标准HTTP端口(80)来访问web页面。主机操作系统还可以在端口 8000 上访问127.0.0.1 上的 web页面。
编辑文件
永远从主机操作系统中编辑源代码。
通过共享文件夹,可以立即在 Homestead 虚拟机中使用已编辑并且保存的文件。
MySQL
MySQL 在 Homestead 虚拟机内运行。
您可以通过以下信息从主机操作系统访问MySQL。
设置项
值
主机
127.0.0.1
端口
33060
用户名
homestead
密码
secret
Memcached
Memcached 在 Homestead 虚拟机内运行。
Memcached 是存在于内存中的 key/value 缓存.
Beanstalkd
Beanstalkd 在 Homestead 虚拟机内运行。
Beanstalkd 是简单迅速的工作队列.
Git 或者 Subversion
运行在你的操作系统.
尽管你 可以 从任何地方运行这些版本控制系统,但是强烈建议只从你的主机操作系统运行。在一个位置运行它们避免了潜在的冲突。
例如,假设你在 Homestead 虚拟机中安装了subversion,它是 1.8 版本。你可以在 Homestead 虚拟机 中检出源代码,然后尝试从您的主机操作系统中检出它。如果你在主机操作系统上安装了 subversion v1.7,那么在主机OS上升级 subversion 之前,你将不能啥都不能干。
Bower
从 Homestead 虚拟机 或 主机系统均可.
Bower 是一个 web 上用来进行简单包管理器工具. 如果 Bower 在主机操作系统上进行了操作,那么你也可以在其他地方运行这个命令。
Gulp
仅 从你的主机操作系统运行。
Laravel Elixir 使用 Gulp (一个个简单的构建工具) 来管理资源、最小化资源、组合资源、复制资源和进行自动化单元测试。
对于 Windows 来说,在主机操作系统上运行 Gulp 是绝对必要的。在 OS X 和 Linux 中,从主机操作系统中运行可以出现系统通知。(你仍然可以在 OS X或 Linux 的 Homestead 虚拟机中成功地运行,但在发出通知时将收到警告错误)
Composer
仅 从你的主机操作系统运行。
如果你的主机操作系统是 OS X 或 Linux ,你可以从任何地方运行,但是如果你的主机操作系统是Windows,那么 Composer 就会创建必要的批处理文件来确保操作正确。
Artisan
仅 从 Homestead 虚拟机运行 artisan.
其主要原因是,任何特定的数据库、队列和高速缓存驱动程序都安装在 Homestead 内,并且可能无法在主机OS上使用(或安装)。另外,本地 localhost 的数据库设置来自 Homestead 虚拟机映射,而不是来自您的主机操作系统的映射。
在控制台运行命令的规范
The rule is: Only run artisan in the Homestead VM. Everything else can or must be executed from your Host OS.
规则是: 只能在 Homestead 虚拟机中运行 artisan 。其他任何东西都可以或必须从你的主机操作系统中执行。
回顾
在本章中,我们讨论了在 Laravel 5.1 中开发应用程序所需的各种软件,并安装了 VirtualBox 和 Vagrant。
如果你的机器是一个 Windows 运行环境,那就继续下一章,设置一个 Windows 机器。否则,请跳到创建 OS X 或 Linux 机器的章节。