下载地址:http://pan.baidu.com/s/1o6Zq5zcphp
参考网页:html
已有较多的制做教程,本例讲述在Ubuntu麒麟下的制做过程。linux
本文下载的是deb文件,下面主要讲述命令行安装方式。git
sudo dpkg -i /path/to/virtualbox.deb
安装完成后,应该能够在终端输入virtualbox
启动virtualbox软件。github
关闭virtualbox后,双击下载的virtualbox扩展包,能够直接安装成功。web
下载最新包安装便可。apache
sudo dpkg -i /path/to/vagrant.deb
上面两步也能够跳过,直接使用命令行以下安装。vim
sudo apt-get install vagrant virtualbox -y
切记给virtualbox安装扩展支持。centos
选择virtualbox的centos,点击启动便可。bash
本小节为配置的手动版,下面还有自动版(Kickstart Profile Installation)。二者选择其一便可。
下面非特殊说明,用户均为root。登陆系统。用户名和密码为root,vagrant
系统默认不启动网卡的,因此要先启动他。
ifup eth0
yum install -y openssh-clients man git vim wget curl ntp gcc
其中vim
自认为不须要,gcc
是为后续安装虚拟机系统guest os内部的virtualbox扩展包所用。
若是不能够上网,确认你虚拟机网络借口的配置方式是否正确,试试桥接或NAT方式,若是实在不行,请避免选用最小安装包的.iso文件,选择正确的安装包。
chkconfig ntpd on
chkconfig sshd on
sed -i -e 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
useradd vagrant mkdir -m 0700 -p /home/vagrant/.ssh curl https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub >> /home/vagrant/.ssh/authorized_keys chmod 600 /home/vagrant/.ssh/authorized_keys chown -R vagrant:vagrant /home/vagrant/.ssh sed -i 's/^\(Defaults.*requiretty\)/#\1/' /etc/sudoers echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
考虑到通常不会对vagrant作太多改动,故采用默认的作法。 上述命令详细解释及说明见:http://thornelabs.net/2013/11/11/create-a-centos-6-vagrant-base-box-from-scratch-using-virtualbox.html
编辑/etc/sysconfig/network-scripts/ifcfg-eth0
,部分参数以下:
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=dhcp
重启电脑进入 四、安装虚拟机操做系统centos的virtualbox扩展。
<table> Kickstart Profile Installation I used this Kickstart Profile to automate the build. When the CentOS boot menu appears, highlight Install or upgrade an existing system, hit the Tab key to bring up the anaconda boot line, and append the following:
noverifyssl ks=https://raw.githubusercontent.com/jameswthorne/kickstart-profiles/master/centos-6-x86_64-vagrant-box.txt
Hit the Enter key and wait for the installation to finish.
</table>
说人话就是:
在centos系统启动菜单里,选择Install or upgrade an existing system,点击Tab键,在后面添加以下内容。
noverifyssl ks=https://raw.githubusercontent.com/jameswthorne/kickstart-profiles/master/centos-6-x86_64-vagrant-box.txt
回车,等待安装完成。
重启电脑进入 四、安装虚拟机操做系统centos的virtualbox扩展。
打开virtualbox某个虚拟机时,最上面菜单栏有个设备
>安装加强功能
。若是你电脑联网,virtualbox通常会自动帮你下载好该光盘并挂载在你的虚拟机上。 下面假设该光盘已经在你电脑上了。实在没法解决的,能够自行百度下载。
root用户进入到虚拟机centos中
在/root文件夹下新建一个文件cdromtmp
mkdir /root/cdromtmp
把光盘挂载到/root/cdromtmp下
mount /dev/cdrom /root/cdromtmp
注意,上面有多是/dev/cdrom1
或者其余,可使用命令ls /dev/cdrom*
查看,确实是否存在。
执行安装该扩展功能。
/root/cdromtmp/VBoxLinuxAdditions.run
找到相似的VBoxLinuxAdditions.run.run文件便可。有时候会出现缺乏 kernel-devel-xxx
的问题,按照提示安装。 最后可能会有opengGL的相关东西安装失败,不影响操做,能够继续。 这样就安装成功了。建议重启电脑。
centos系统通常默认是开通ssh,22端口的。若是能够查看centos的IP地址,不妨设为192.168.1.201,能够采用ssh或者sftp跟centos联通。 下面假设能够访问该虚拟机。
ssh root@192.168.1.201
下面若是没有特别说明,均为root用户在ssh里操做。
centos 6.7依旧采用的是iptables管理端口。跟centos7不一样。 编辑文件,
vi /etc/sysconfig/iptables
加入以下内容,通常22端口默认开通了,其余端口能够相似添加开通。
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
保存退出,重启查看iptables
/etc/init.d/iptables restart /etc/init.d/iptables status
经过sftp把其余电脑上的xampp.run文件复制过来。
sftp root@192.168.1.201 #跳过代码部分 sftp put /path/to/xampp.run ./
这样把xampp.run文件复制到/root文件夹下了。
若是xampp.run没有执行权限,须要添加能够执行权限。
chmod u+x ./xampp.run
下面安装xampp.run文件。
./xampp.run
记住选择非开发模式。默认安装在/opt/lampp文件夹。
能够顺利安装完成。
能够在/opt/lampp/htdocs/下新建一个文件夹www,并让全部人对该文件夹操做。
mkdir /opt/lampp/htdocs/www chmod -m 0777 -p /opt/lampp/htdocs/www
首先在/etc/init.d下添加一个xampp启动脚本
vi /etc/init.d/xampp.sh
添加如下内容
#!/bin/sh /opt/lampp/lampp start
保存退出,添加自启动
vi /etc/rc.d/rc.local
加入如下代码
sh /etc/init.d/xampp.sh
保存退出 注意要给上面两个文件加上执行权限。
chmod u+x /etc/init.d/xampp.sh chmod u+x /etc/rc.d/rc.local
编辑文件,
vi /opt/lampp/etc/extra/httpd-xampp.conf
修改成以下状况
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))"> # Require local Require all granted ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </LocationMatch>
注释掉只能本地访问功能,增长外网访问能力。 保存退出。
/opt/lampp/etc/httpd.conf
vi /opt/lampp/etc/httpd.conf
在文中搜索httpd-vhost.conf
,会找到
#Include etc/extra/httpd-vhosts.conf
取消该行注释。
在文中搜索80
,会找到
Listen 80
改成
Listen 80 Listen 8080
vi /opt/lampp/etc/extra/httpd-vhosts.conf
加入以下内容,能够相似修改。
<VirtualHost *:80> ServerAdmin bubifengyun@sina.com DocumentRoot "/opt/lampp/htdocs/www" ServerName personshakehand.lxfive.com ServerAlias www.personshakehand.lxfive.com ErrorLog "logs/personshakehand-error_log" CustomLog "logs/personshakehand-access_log" common </VirtualHost> <VirtualHost *:8080> ServerAdmin bubifengyun@sina.com DocumentRoot "/opt/lampp/htdocs" ServerName backend.personshakehand.lxfive.com ServerAlias www.backend.personshakehand.lxfive.com ErrorLog "logs/backend-personshakehand-error_log" CustomLog "logs/backend-personshakehand-access_log" common </VirtualHost>
在虚拟机中,去除一些不须要的日志信息等。
rm -f /etc/udev/rules.d/70-persistent-net.rules yum clean all rm -rf /tmp/* rm -f /var/log/wtmp /var/log/btmp history -c shutdown -h now
删掉虚拟机的光盘驱动。
打开存储,能够看到有光盘标志的地方,选中他,在下面有删除按钮,选择删除他。
退出到主机,非虚拟机。
vagrant package --output centos-6.7-x64.box --base centos
添加vagrant box
vagrant box add centos-6.7-x64 centos-6.7-x64.box
跳转到工做文件夹
cd /opt/lampp/htdocs/www
初始化vagrant
vagrant init centos-6.7-x64
修改Vagrantfile,这时会在当前文件夹下看到Vagrantfile文件,其中部份内容以下。
config.vm.network "public_network", ip: "192.168.1.201" config.vm.synced_folder "./", "/opt/lampp/htdocs/www/"
确保在局域网其余电脑也能够访问测试。并让当前工做文件夹和虚拟机服务器centos对应的文件夹能够访问。
启动vagrant,默认在当前文件夹下,
vagrant up
会弹出选择网卡等信息,若是不出意外,应该是能够正常启动了。
vagrant box add <your-webserver-name> /path/to/centos-6.7-x64.box vagrant init <your-webserver-name> vagrant up
vagrant halt
Vagrantfile
文件,相似以下修改。config.vm.network "public_network", ip: "192.168.1.201" config.vm.synced_folder "./", "/opt/lampp/htdocs/www/"