mac下virtualbox+vagrant安装
1.安装VirtualBox
VirtualBox下载地址 免费小巧非常适用,根据自己机器系统选择下载包
图1
2.安装并使用Vagrant
1)Vagrant下载地址 选择下载包
图2
安装完成后,在终端输入
vagrant -v
提示显示vagrant版本即安装成功并可使用,如下:
bogon:~ amtbhk$ vagrant -v
Vagrant 2.0.4
2) box系统镜像下载地址 下载Vagrant官方封装好的系统镜像
查看mac是32位还是64位。
[vagrant@bogon vagrant]$ uname -a
Linux bogon 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
图3
copy地址,放在浏览器栏,即下载。
3)添加下载好的box系统镜像到Vagrant
找到自己2)中下载的box的存放路径,在终端输入
vagrant box add centos7 ~/Downloads/devsoft/mac+vagrant/centos-7.0-x86_64.box
centos7 是给这个box系统镜像取得名字,想叫什么就是什么,就是这么自由!!!
~/Downloads/devsoft/mac+vagrant/centos-7.0-x86_64.box 是box系统镜像的存放路径,这个是我自己的路径,你要用你自己的哟!!!
这样就添加完成咯
(这里说明:如果你的box是同事配置好环境后打包给你的也可以哦)
3.配置开发环境
1)创建开发目录
/Users/huangzhuolin/data/Web
这个你根据自己的建。
2)初始化开发环境
在终端中输入
vagrant init centos7 #初始化
bogon:Web amtbhk$ vagrant init centos7
A Vagrantfile
has been placed in this directory. You are now
ready to vagrant up
your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation onvagrantup.com
for more information on using Vagrant.
3)启动开发环境
在终端中输入
vagrant up # 启动环境
然后就等待……
这里提到:启动前,你需要看一下Vagrantfile文件。
config.vm.box = "centos7" #添加box镜像到vagrant时取得名字
config.vm.network "private_network", ip: "192.168.33.10" #虚拟机中系统的ip
vb.memory = "1024" #为虚拟机中系统分配的内存大小
这里我把共享目录定义为这样:
config.vm.synced_folder "./phpprojects", "/web",create: true, owner:"www", group:"www"
即我的mac中,〜/data/Web/phpprojects,准备放各个项目代码.
对于虚拟机中的/web目录。
而我是在〜/data/Web下, vagrant init的。
4.检测网络环境
从本机访问centos7:ping 192.168.33.10
成功。
从centos7访问本机:
bogon:Web amtbhk$ vagrant ssh
Last login: Thu Jul 16 08:48:31 2015 from 10.0.2.2
Welcome to your Vagrant-built virtual machine.
[vagrant@bogon ~]$ pwd
/home/vagrant
[vagrant@bogon ~]$ cd /vagrant
系统偏好设置->网络->
「Wi-Fi」已連接至「ciguang-ap」,且其 IP 位址為 192.168.1.147。
[vagrant@bogon vagrant]$ ping 192.168.1.147
PING 192.168.1.147 (192.168.1.147) 56(84) bytes of data.
64 bytes from 192.168.1.147: icmp_seq=1 ttl=63 time=0.058 ms
成功。
5)安装php环境及扩展
在虚拟机中,
cd /
mkdir build
cd build
下载oneinstack,安装。
www.oneinstack.com 有详细说明。
安装完成后,在本机192.168.33.10 能看到oneinstack成功的界面。
然后,安装 phalcon, mongodb ,rabbitmq等...
配置环境要花许多时间。
全部都好了后。
6)打包。分发。
cd ~/data/Web
vagrant package --base centos7 --output centos7.box
或者vagrant package 不加参数
演示:vagrant package –base virtualbox_vm_name –output newbox_name.box
1.把这个newbox_name.box文件拷贝到你的同事到机器上;
2.在机器上执行vagrant box add newbox_names newbox_name.box就可以把这个box添加到这台机器的box列表里面;
3.在需要搭建开发环境的目录下面执行vagrant init newbox_names,这样就初始化了一个虚拟机环境,然后执行vagrant up,你的同事就可以得到一个和你完全一样的开发环境了。
在初始化环境的时候需要注意的一点是:这个目录下面如果以前初始化过,那么请执行vagrant destroy命令把这个环境销毁掉,并删除Vagrantfile文件,或者在windows环境下直接手动删除.vagrant目录和Vagrantfile文件有相同的效果。否则vagrant init命令无效,当你vagant up的时候得到的是一个和以前完全一样的环境。
假设在你同事的机器上,
拷贝来的centos7.box放在~/Downloads/devsoft/centos7.box下。
准备把环境放在~/vg目录下,项目代码放在~/vg/phpprojects下。
你可以创建自己的目录哦。
当然,同事的机器上也已经安装了,vagrant , vitualbox,
cd ~/vg
vagrant box add centos7 ~/devsoft/centos7.box
vagrant init
vagrant up
就好了哦,
如果遇到这个问题:
如果报:default: Warning: Remote connection disconnect. Retrying...
一般看到这个信息时,虚拟机已经启动成功,可以中断命令后vagrant ssh登录试试
如果失败,
修改vagrant工作目录下的Vagrantfile文件,
在 config.vm.box ="XXX……" 下
添加 config.ssh.password ="vagrant"
然后重新vagrant ssh登录。
vagrant ssh 登录时,会要求输入密码,即:vagrant
登入成功后,sudo su
cd /web
即可以看到,~/vg/phpprojects下的项目了。
--
因为这个用oneinstack安装的环境。
此时在本机输入:192.168.33.10就能看到oneinstack安装成功的界面。
也可以后到phpinfo()的内容。
然后就安装扩展。phalcom,mongodb,rabbitmq
如果不安装,下面可以忽略不看了。
先创建一些链接:
bogon:Web amtbhk$ vagrant ssh
sudo su
[root@bogon build]# ln -s /usr/local/php/bin/phpize /usr/bin/phpize
[root@bogon build]# ln -s /usr/local/php/bin/php-config /usr/bin/php-config
[root@bogon build]# ln -s /usr/local/php/bin/pecl /usr/bin/pecl
1.安装phalcon
[root@bogon build]# wget -c https://github.com/phalcon/cphalcon/archive/master.zip
[root@bogon build]# unzip master.zip
cd cphalcon-master/
cd build
cd php7
cd 64bit
phpize
./configure
make
make install
cd /usr/local/php/lib/php/extensions/no-debug-zts-20170718/
cd /usr/local/php/etc/php.d
service nginx restart
==
在虚拟机中,
phalcon.php命令应正常,如出现找不到。即是没有写快捷方式。
sudo su;
cd ~;
vi .bash_profile;
中间需要有一句:export PATH=$PATH:/web/phalcon-devtools-3.2.12
再:
source .bash_profile;
2.安装swoole
wget -c http://pecl.php.net/get/swoole-2.1.3.tgz
tar xzvf swoole-2.1.3.tgz
cd swoole-2.1.3
phpize
./configure
make
make install
- 安装rabbitmq
rabbitmq
要先安装Erlang,
再安装rabbitmq,
注意版本对应。
这个后续安装成功再补充。
参考链接:
https://laravel-china.org/topics/9832/php72s-redis-extension-installation-problem