最近在学Laravel,打算参与室友的国家级项目,啃官方文档,感觉中文文档翻译太生硬,搭建Homestead虚拟开发环境。

这几天忙着考试,现在抽点时间记录下如何搭建Homestead

Homestead介绍

Laravel strives to make the entire PHP development experience delightful, including your local development environment. Vagrant provides a simple, elegant way to manage and provision Virtual Machines.

说白了,Homestead就是一个虚拟机,提供一个PHP开发环境,依赖Vagrant来管理这个虚拟机。

这是Homestead包含的软件:

  • Ubuntu 14.04
  • Git
  • PHP 7.0
  • HHVM
  • Nginx
  • MySQL
  • MariaDB
  • Sqlite3
  • Postgres
  • Composer
  • Node (With PM2, Bower, Grunt, and Gulp)
  • Redis
  • Memcached
  • Beanstalkd

目前我在用双系统,感觉就没必要在Linux下用Homestead这个Linux虚拟机了,于是就安装到Win10下,开发娱乐两不误。

安装VirtualBox

VirtualBox相对于VMware免费,还好用,还轻量,果断选它了:https://www.virtualbox.org/wiki/Downloads

安装Vagrant

Vagrant是用来创建可配置、轻量、可移植的开发环境,依赖VirtualBoxhttps://www.vagrantup.com/

安装Git for windows

http://7xibui.com1.z0.glb.clouddn.com//2016/06/QQ%E6%88%AA%E5%9B%BE20160625000945.png

比起丑爆的cmdpowershell,那还不如用Git for windowshttps://git-for-windows.github.io/

安装Homestead Vagrant Box

Homestead下载实在太慢,我下了一天才下好,打包下来方便大家安装:

链接: http://pan.baidu.com/s/1boKu8xT 密码: a2tx

下载好了后,先让vagrant创建工作目录,可在git bash尝试

vagrant box add laravel/homestead

然后你可以放弃治疗了,因为这破网速真捉急。

接着把下载的文件laravel-VAGRANTSLASH-homestead.tbz2解压到C:\Users\<用户名>\.vagrant.d\boxes

安装Homestead

安装

紧接着是安装Homestead了,git拖一个下来:

$ cd /f/ # 这个是你`Homestead`安装文件放置目录(全局使用),我放在F盘
$ git clone https://github.com/laravel/homestead.git Homestead
$ cd Homestead
$ bash init.sh

配置

init.sh之后,会在用户目录下创建一个配置文件:~/.homestead,这个对应于C:\Users\netcan\.homestead

之后就是修改~/.homestead/Homestead.yaml配置文件了,比如配置ip为Nat模式,默认为192.168.10.10

为了方便访问应用,可以绑定域名,在C:\Windows\System32\drivers\etc\hosts文件中添加一条192.168.10.10 homestead.app

下面是homestead的默认端口转发:

  • SSH: 2222 → Forwards To 22
  • HTTP: 8000 → Forwards To 80
  • HTTPS: 44300 → Forwards To 443
  • MySQL: 33060 → Forwards To 3306
  • Postgres: 54320 → Forwards To 5432

接着编辑/etc/bash.bashrc,加入以下函数:

function homestead() {
    ( cd /f/Homestead && vagrant $* )
}

重启git bash

启动

执行以下指令即可启动homestead

$ homestead up

安装Laravel

Composer类似于Nodejsnpm包管理,主要用来管理php依赖。

启动homestead后,homestead ssh进入homestead开发环境安装Laravel

composer global require "laravel/installer"

安装过程比较慢的,可以用Composer中国镜像:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

记得设置环境变量,homestead中编辑/etc/environment,在PATH中加入~/.config/composer/vendor/bin

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:~/.config/composer/vendor/bin"

第一个Laravel应用

~/.homestead/Homestead.yaml配置文件会对文件夹进行映射:

folders:
    - map: F:\workspace\Netcan_web\Laravel
      to: /home/vagrant/Code

sites:
    - map: homestead.app
      to: /home/vagrant/Code/quickstart/public

嗯,我是把官方的入门例子拖下来的,也可以通过laravel new project来创建laravel项目。

时间不早了,明天还要继续复习计组,上一下图:

http://7xibui.com1.z0.glb.clouddn.com//2016/06/QQ%E6%88%AA%E5%9B%BE20160625003731.png

晚安。

参考链接