Laravel Homestead 安装小记

#环境配置

Laravel官网上,推荐使用Laravel Homestead虚拟机部署安装环境。Homestead是Laravel官方提供的基于Vargrant的Box,也就是虚拟机原型系统,预装了一切 Laravel 需要的东西。

这里使用VirtualBox虚拟机,而Vagrant是一个虚拟机管理工具。

配置Laravel环境的主要步骤有:

  1. 安装VirtualBox和Vagrant
  2. 安装Homestead Vagrant Box
  3. 安装Homestead(Clone 项目)
  4. 修改配置文件(Homestead.yaml/etc/hosts
  5. 启动虚拟机,SSH登陆虚拟机
  6. 下载Laravel

#安装VirtualBox和Vagrant

直接官网安装dmg即可:

  1. VirtualBox 下载地址

  2. Vagrant下载地址

验证是否安装成功在终端使用以下命令行,显示版本信息就 OK 了。

vagrant -v

#安装 Homestead Vagrant Box

#在线安装

直接输入以下命令行:

1
vagrant box add laravel/homestead

这个步骤相当于下载虚拟机的预装系统,下载文件超过1个G,实测非常慢,及时是挂VPN,也太慢。

#离线导入

#下载Box

最后我选择了首先下载.box文件,然后导入的方式。

在Vagrant官网进入Homestead box,选择最新的版本,例如8.2.1,然后进入该版本页面,如https://app.vagrantup.com/laravel/boxes/homestead/versions/8.2.1,直接在后面添加/providers/virtualbox.box组成完整的URL,即可使用迅雷等下载工具进行下载,完整的URL为:

https://app.vagrantup.com/laravel/boxes/homestead/versions/8.2.1/providers/virtualbox.box

下载完成后得到virtualbox.box的文件,在命令行中进入该文件的目录,然后输入以下命令即可成功导入。

vagrant box add laravel/homestead ./virtualbox.box

#导入

注意,这里导入时vagrant并不知道版本信息。因此,我们需要进入box的文件夹,手动增加版本信息。

vagrant存储box的目录为~/.vagrant.d/boxes,进入其中的laravel-VAGRANTSLASH-homestead文件夹,新建一个metadata_url文件夹,输入

https://app.vagrantup.com/laravel/homestead

同时,将文件夹0重命名为当前的版本号,例如8.2.1

输入命令vagrant box list,可查看当前安装的box及版本号。

#安装 Homestead

从GitHub上clone项目,并切换到稳定的分支,创建相关配置文件。

1
2
3
4
git clone https://github.com/laravel/homestead.git ~/Homestead
cd ~/Homestead
git checkout release
bash init.sh

#修改配置文件

进入Homestead的根目录,打开Homestead.yaml文件修改配置:

主要修改同步目录,例如:

1
2
3
4
5
6
folders:
    - map: ~/Code/OpenCion
      to: /home/vagrant/OpenCion
sites:
    - map: homestead.test
      to: /home/vagrant/OpenCion/public

然后再将IP加入/ect/host中:

192.168.10.10  homestead.test

#启动虚拟机

在命令行中输入 cd ~/Homestead,切换到homestead项目所在到目录,然后输入 vagrant up

启动成功后,在同样目录下输入vagrant ssh 登陆到 vagrant 虚拟机,如下图所示:

laravel1

在根目录下,使用composer下载 Laravel:

composer create-project laravel/laravel OpenCoin --prefer-dist

这里的OpenCoin是之前设置的同步目录,–prefer-dist: 意思是下载用于 distribution 的稳定版本。

浏览器里输入 homestead.test (预设值的域名),出现以下画面表示安装成功。

laravel2

#基本操作说明

#关闭/删除/重建 Homestead

Homestead 相当于另一个系统,不用的时候千万要记得关闭。以下是退出登陆并关闭虚拟机命令。

1
2
3
4
# 命令行工具退出对虚拟机系统登陆
eixt
# 虚拟机关机(位置要在 Homestead 文件夹)
vagrant halt

下次需要使用时,从 vagrant up 步骤开始即可。

在测试中因为各种原因导致虚拟机坏掉的时候,只需要对虚拟机进行删除、重建即可,非常方便。

1
2
3
4
# 删除当前虚拟机(需要在 Homestead 文件夹下)
vagrant destroy --force
# 重建虚拟机
vagrant up

注意删除指的是删除 vagrant up 建立的虚拟机,和删除整个 Homestead 是不同概念。如果完全不想使用 Homestead 了,想要删除可以参考下面链接。

#Reference

Load Comments?