由于某些地区网络无法连接到vagrant的服务器,安装homestead必须手动离线安装。

相关介绍

Homestead目的在于让本地环境可以很快的搭建和销毁,其原理为一个配置好的Vagrant Box原型,随时实例化出一个测试环境。Homestead基于Vagrant,而Vagrant是一个中间层,作用在于提供自动化的虚拟机安装,由于我选择了
Virtual Box作为虚拟机平台,所以本教程仅适用于Virtual Box+Vagrant+Laravel/Homestead的离线安装。

安装基础软件

  1. 下载并安装 VisualBox
  2. 下载并安装 Vagrant

下载安装 Homestead

  1. 克隆 Homestead 到本地
    mkdir ~/Websites && cd ~/Websites
    git clone https://github.com/laravel/homestead.git Homestead
  2. 由于 master 分支的 Homestead 并不一定稳定,所以我们切换到的一个稳定版本。( 稳定版本列表 )
    cd Homestead
    git checkout v6.2.2
  3. 初始化 Homestead
    bash init.sh
  4. 编辑 homestead.yaml 文件,记录配置中的 ip 地址,配置环境,修改 foldersitesmap 属性。

    ip: "192.168.10.10"
    ...
    folders:
        - map: /path/to/your/laravel/folder
          to: /home/vagrant/code
    
    sites:
        - map: homestead.yourdomain.com
          to: /home/vagrant/code/public
  5. 编辑本地 hosts 文件,添加解析。
    sudo vim /etc/hosts

    将上一步骤读到的ip信息添加进去,如下所示:

    192.168.10.10 localhost.yourdomain.com
  6. 离线下载 homesteadVirtual Box
    下载地址:https://vagrantcloud.com/laravel/boxes/homestead/versions/3.1.0/providers/virtualbox.box
  7. 手动配置包
    vagrant box add laravel/homestead /path/to/offline/file/virtualbox.box
    echo "https://atlas.hashicorp.com/laravel/homestead" > ~/.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead/metadata_url
    mv ~/.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead/0 ~/.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead/3.1.0
  8. 运行 Homestead
    vagrant up

    正常运行后应该会看到

    Bringing machine 'homestead-7' up with 'virtualbox' provider...
    ==> homestead-7: Importing base box 'laravel/homestead'...
    ==> homestead-7: Matching MAC address for NAT networking...
    ==> homestead-7: Checking if box 'laravel/homestead' is up to date...
    ...
    ==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Update Composer
    ==> homestead-7: You are already using composer version 1.5.2 (stable channel).
    ==> homestead-7: Running provisioner: shell...
        homestead-7: Running: /var/folders/9t/64cz_tt544bcqb5q2vmhgyjm0000gn/T/vagrant-shell20170926-51994-f5f0h9.sh

测试

  1. 浏览器访问 http://homestead.yourdomain.com/ 即可。
  2. SSH连接 (密码 vagrant)
    ssh vagrant@192.168.10.10