製做xampp7.00,centos6.7,vagrant box網站服務器

製做基於centos6.7和xampp7.0.1的vagrant box

下載地址:http://pan.baidu.com/s/1o6Zq5zcphp

參考網頁:html

已有較多的製做教程,本例講述在Ubuntu麒麟下的製做過程。linux

1、軟件準備

2、準備工做

一、virtualbox 安裝

本文下載的是deb文件,下面主要講述命令行安裝方式。git

sudo dpkg -i /path/to/virtualbox.deb

安裝完成後,應該能夠在終端輸入virtualbox啓動virtualbox軟件。github

關閉virtualbox後,雙擊下載的virtualbox擴展包,能夠直接安裝成功。web

二、vagrant 安裝

下載最新包安裝便可。apache

sudo dpkg -i /path/to/vagrant.deb

上面兩步也能夠跳過,直接使用命令行以下安裝。vim

sudo apt-get install vagrant virtualbox -y

切記給virtualbox安裝擴展支持。centos

3、安裝centos

一、預備安裝

  • 打開虛擬機virtualbox,New新建主機命名centos,
  • Type類型選擇Linux,
  • Version版本選擇Red Hat(64bit),
  • Memory size內存大小能夠設置爲512MB或者更多,
  • Hard drive 硬盤選擇Create a virtual hard drive now新建硬盤,點擊建立,
  • File Location硬盤文件地址選擇默認,或者其餘位置,看你磁盤空間而定,
  • File size硬盤大小默認8G足夠,若有更多需求,你能夠調大;
  • Hard Drive file type硬盤類型,選擇VDI
  • Storage on physical hard drive 驅動存儲方式, 選擇 Dynamically allocated動態方式, 點擊Create建立;
  • 如今打開Settings 設置,在存儲裏找到Controller:IDE,選擇你下載的centos-6.7-x86-64-bin-DVD1.iso
  • 在聲音和端口內關閉聲音和USB驅動。
  • 點擊肯定

二、安裝系統

選擇virtualbox的centos,點擊啓動便可。bash

  • 建議安裝過程當中語言之類的選擇English,若是須要能夠選擇中文簡體。
  • root密碼設置爲vagrant
  • 時區選擇Asia/Shanghai,時間不選UTC。
  • 最後安裝類型選擇最小化安裝。
  • 其餘選擇默認。 安裝完畢後重啓。

三、配置系統(手動版)

本小節爲配置的手動版,下面還有自動版(Kickstart Profile Installation)。二者選擇其一便可。

下面非特殊說明,用戶均爲root。登陸系統。用戶名和密碼爲root,vagrant

3.1 啓動網卡

系統默認不啓動網卡的,因此要先啓動他。

ifup eth0

3.2 安裝必須的一些軟件包

yum install -y openssh-clients man git vim wget curl ntp gcc

其中vim自認爲不須要,gcc是爲後續安裝虛擬機系統guest os內部的virtualbox擴展包所用。

若是不能夠上網,確認你虛擬機網絡藉口的配置方式是否正確,試試橋接或NAT方式,若是實在不行,請避免選用最小安裝包的.iso文件,選擇正確的安裝包。

3.3 配置一些啓動默認項

  • 啓動ntpd服務
chkconfig ntpd on
  • 啓動sshd服務
chkconfig sshd on
  • 設置SELinux容許
sed -i -e 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config

3.4 建立vagrant用戶及其相關內容

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

3.5 配置網卡參數

編輯/etc/sysconfig/network-scripts/ifcfg-eth0,部分參數以下:

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp

重啓電腦進入 四、安裝虛擬機操做系統centos的virtualbox擴展。

三、配置系統(自動版)

詳見參考文獻:http://thornelabs.net/2013/11/11/create-a-centos-6-vagrant-base-box-from-scratch-using-virtualbox.html

<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擴展。

四、安裝虛擬機操做系統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的相關東西安裝失敗,不影響操做,能夠繼續。 這樣就安裝成功了。建議重啓電腦。

4、安裝xampp

centos系統通常默認是開通ssh,22端口的。若是能夠查看centos的IP地址,不妨設爲192.168.1.201,能夠採用ssh或者sftp跟centos聯通。 下面假設能夠訪問該虛擬機。

ssh root@192.168.1.201

一、開通8080,80,22端口

下面若是沒有特別說明,均爲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

二、安裝xampp

經過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

三、xampp加入開機自啓動

首先在/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

四、配置xampp能夠在同局域網下使用phpmyadmin

編輯文件,

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

六、編輯/opt/lampp/etc/extra/httpd-vhosts.conf

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>

5、清理現場

在虛擬機中,去除一些不須要的日誌信息等。

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

刪掉虛擬機的光盤驅動。

打開存儲,能夠看到有光盤標誌的地方,選中他,在下面有刪除按鈕,選擇刪除他。

6、建立 create vagrant box

退出到主機,非虛擬機。

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

會彈出選擇網卡等信息,若是不出意外,應該是能夠正常啓動了。

7、備註

  • 本文製做的centos-6.7-x64.box在百度雲盤提供下載。
  • 在製做過程當中對MySQL的用戶和密碼都進行了修改,分別爲test,test

使用說明:

  • 假設你已經安裝好了virtualbox,vagrant,且你的virtualbox支持64位操做系統。
  • 下載好centos-6.7-x64.box
  • 進入到你的工做項目根目錄,不妨設爲/opt/lampp/htdocs/www
  • 安裝該虛擬機
vagrant box add <your-webserver-name> /path/to/centos-6.7-x64.box
vagrant init <your-webserver-name>
vagrant up
  • 若是你的虛擬機容許正常,關閉vagrant
vagrant halt
  • 能夠編輯當前目錄下的Vagrantfile文件,相似以下修改。
config.vm.network "public_network", ip: "192.168.1.201"
  config.vm.synced_folder "./", "/opt/lampp/htdocs/www/"
  • 使用xampp,在/opt/lampp/htdocs/www下新建項目文件夾,
  • 在同一局域網其餘電腦上,查看虛擬機IP地址對應的網站。

有問題歡迎在下面留言,或者發送郵件到bubifengyun@sina.com

相關文章
相關標籤/搜索