下載地址: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/"