Laravel 曲谱 - 1.2 安装 - c) 创建 Vagrant Box

原文地址: Creating a Vagrant Box

问题

你需要在Vagrant 中建立一个沙箱
尽管你安装了 VirtualBox 和 Vagrant , 你也不能在沙箱中运行任何工作

解决方案

建立一个 Vagrant Box
这个例子将建立一个 Ubuntu 14.04 64bit vanilla box, vanilla 的意思就是没有额外的工具被安装. 就像是一个全新的安装完成的机器.

Step 1 - 建立一个沙箱的目录

在终端, 创建目录结构

$ mkdir vagrant
$ mkdir vagrant/laravel
$ mkdir vagrant/laravel/projects
Step 2 - 创建 Vagrantfile 文件

切换到最新创建的 vagrant/laravel 目录, 并创建一个名字为 Vagrantfile 的文件, 在这个文件中写入

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "precise64"
  config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
  config.vm.network :private_network, ip: "192.168.100.100"
end

[译注]: 由于网站访问速度很慢, 这里可以先去 http://www.vagrantbox.es/ 下载你需要的镜像 然后把http那行直接换成你本地镜像的路径比较方便和快捷, 我的 box 目录为 vagrant/box/trusty-server-cloudimg-amd64-vagrant-disk1.box , 配置的路径是 ../box/trusty-server-cloudimg-amd64-vagrant-disk1.box

Step 3 - 创建虚拟机

这个将基于 Vagrantfile 的内容下载, 创建和配置虚拟机

$ cd vagrant/laravel
$ vagrant up

这个将持续一段时间, 特别是你第一次运行安装 precise64 的时候

[译注]:
这里写图片描述

Step 4 - 配置运行环境

接下来我们将连接到虚拟机, 做一些小改动

$ cd vagrant/laravel
$ vagrant ssh

[译注]: 由于没有ssh 客户端会提示这个错误
这里写图片描述
这里将 Cygwin, MinGW, Git 的含有 ssh.exe 的文件目录加入环境变量然后重新运行下就OK
这里写图片描述

在你连接成功之后, 你的提示将变成 vagrant@precise64-vanilla , 这表示你成功的登陆了虚拟机.

vagrant@precise64-vanilla:~$ echo "export PS1='laravel:\w\$ '" >> .bashrc
vagrant@precise64-vanilla:~$ ln -s /vagrant/projects
vagrant@precise64-vanilla:~$ cat << EOF | sudo tee -a /etc/motd.tail

***************************************

Welcome to precise64-vanilla Vagrant Box

For Laravel development

***************************************
EOF
vagrant@precise64-vanilla:~$ exit
Step 5 - 安装基本项目

现在当你连接时你会收到我们的最后一步中创建的新欢迎消息, 现在的提示将是 ‘laravel’ 而不是 ‘vagrant@precise64-vanilla’。

$ cd vagrant/laravel
$ vagrant ssh
laravel:~$ sudo apt-get update
laravel:~$ sudo apt-get install -y python-software-properties build-essential
laravel:~$ sudo add-apt-repository -y ppa:ondrej/php5
laravel:~$ sudo apt-get update
laravel:~$ sudo apt-get install git-core subversion curl php5-cli php5-curl \
laravel:~$ exit
讨论

以下是每个步骤的详细步骤

Step 1
创建一个名字为 vagrant 的子目录, 所有的 Vagrant 文件都保存在这个文件夹里, laravel 目录保存我们创建的虚机, 如果你设置另外一个虚机, 在 vagrant 下创建另外一个目录就OK

Step 2
这个 Vagrantfile 文件指定了虚机的名称 (precise64), 并告知怎样找到这个url, 第一次安装虚机, Vagrant 将会下载这个镜像, 但是随后的安装将会快很多

config.vm.network 折行代码指定了这个虚拟机拥有一个 192.168.100.100 的IP, 你可以使用任何一个和你内网不冲突的IP地址就可以, 只要保持 192.168.*.* 这种格式就OK

当虚机运行的时候, 你可以用浏览器访问 192.168.100.100 来查看虚拟机上的页面[译注:前提是你安装了web服务器]

Step 3
vagrant up 命令将初始虚机并启动它.这一步可能执行一段时间. 特别是你第一次运行 precise64 的时候你需要下载操作系统. 一旦机器配置好了, 只需要一两秒的时候就能够启动.

Step 4
echo "export PS1..." 这一行将在下次登录虚机的时候创建, 这个将使用 vagrant:~$ 来替代 vagrant@precise64-vanilla:~$. 如果你使用多个 Vagrant 虚拟, 你需要通过这个标识符来识别你运行的是哪个虚机.

ln -s /vagrant/projects 将在项目的根目录创建一个到第一步创建目录软连接(?). 所有新的 Laravel 项目都将创建在这里并且都能够在主操作系统进行编辑. Vagrant 和主机来共享这个目录. 如果你从主机上编辑 ~/vagrant/laravel/projects/test.txt , 你也能够冲 Vagrant 的 ~/projects/test.txt 来看到这个文件.

Step 5
这步骤安装了基础了系统组件. 他包含了 git, subversion, 和最新版的 PHP

这些设置步骤是大家熟知的规则. Vagrant 提供了很多种方式来安装一个虚机. 查看Provisioning Vagrant with a Shell Script

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值