更多文章,欢迎你们关注的个人我的博客网站:fangd123php
此文首发于我的博客:Vagrant打造跨平台零配置Web开发环境问题和解决方案汇总git
我使用的Vagrant配置镜像:
https://github.com/scotch-io/...github
对应的box文件连接:
https://drive.scotch.io/scotc...web
vagrant本地加载box:vagrant box add ... ...
sql
vituralbox 4.3.12版本连接:
http://download.virtualbox.or...apache
win10 hostonly问题补丁连接:
https://www.virtualbox.org/at...bash
实验室有一台win10主机,自用MBP,平时原本不怎么作web开发的(个人研究方向和这个关系不大),但上课科目中有一门要用到web开发,为了尽量不对当前的桌面环境配置产生影响,同时可以正常完成老师布置的做业,因而尝试使用vagrant。网络
还有一点,我想在Win、OSX平台下得到一致的开发体验,不须要我在每一个平台都从新配置一遍,这个恰好vagrant也能够知足。运维
Vagrant须要本机上装有Virtualbox和Git,不过Vagrant安装包里边自带了这两个软件,我本觉得这样直接就能够了,没想到,这里有一个坑。ide
Virtualbox for win存在版本兼容性问题,试了不少次虚拟机都启动不起来,各类出错,谷歌之,说版本降级可解决,通过一番比较,Virtualbox 4.3.12版无兼容性问题,下载连接见文首。
配置Vagrant的时候,为了让虚拟机可以和宿主机通讯,通常采用的是hostonly的网络设置,可是这样配置以后,虚拟机启动失败,错误提示:
VBoxManage.exe: error: Failed to create the host-only adapter
谷歌之,在官方论坛上找到了对应问题的ticket,这个问题可能依旧是Win10不兼容致使的,不过幸运的是有补丁,打上补丁就搞定了,连接在这里:
https://www.virtualbox.org/at...
下次在开启虚拟机以前,首先以管理员模式打开这个补丁就好了。
OSX 10.11下安装Vagrant一切正常,并未发生问题。
毕竟web开发,box镜像中,PHP、Node、Mysql等等必备的东西一个都不能少,最好是都配置无缺的,可以直接使用
使用puppet,就可让系统本身安装预先设定好的软件,想来也是不错的,在Github上搜寻到了一个star比较多的项目
https://github.com/dirkaholic...
按照上边的步骤操做,出现的错误,我谷歌之亦未寻得答案,只好做罢。
看到错误提示,应该是puppet脚本出现问题了,返回了错误的值,又想到个人Ubuntu双系统中apt-get update
语句执行以后即是漫长地等待,以为使用puppet安装这些软件可能不是一个适合个人选择
这其实也是一个基于puppet的一个vagrant配置镜像,原理和方案一差很少,不一样之处在于方案二拥有一个GUI界面来配置每个细节,给了用户更多的定制性,固然,对于刚刚接触web开发的同窗或者仅仅须要最基本功能的同窗来讲,这倒成了一种负担。
Github上另一个项目引发了个人注意:
https://github.com/scotch-io/...
根据首页上的介绍,不须要联网配置,不使用puppet这类运维工具配置,即装即用,几乎彻底知足了个人需求。
按照步骤配置下来,终于在折腾了一下午以后成功启动虚拟机
剩下的按照首页上的介绍直接使用就行了,这里再也不多述。
box镜像文件动辄五六百MB,若是用Vagrant默认的下载方式,真的不知道下到啥时候,这里介绍一个『快一点』的下载方式:
首先按照正常步骤,输入vagrant up
以后会有一句指示当前下载box文件的url,例如
==> default: Adding box 'hashicorp/precise32' (v1.0.0) for provider: virtualbox default: Downloading: https://atlas.hashicorp.com/hashicorp/boxes/precise32/versions/1.0.0/providers/virtualbox.box
此时咱们ctrl+c
强制中止当前进程,将url拷贝到迅雷或者别的下载工具中进行下载,下载完成后进入下载目录,打开命令行,输入(其中hashicorp/precise32
为配置文件为box镜像起的名字)
vagrant box add hashicorp/precise32
vagrant up
启动,过不了一下子就安装好了。打开Vagrantfile,找到
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
修改"."
为本身的目录,而后vagrant up
开启虚拟机,进入ect/apache2
目录,配置vituralhost的directory,从public
改成自定目录便可