12月 11, 2013

UBUNTU 13.10啟動網頁伺服器的虛擬主機功能(Apache2------VHOST)

1.最近看了本web2.0網站使用php網頁程式語開發的書,建構開發環境時發生了一點問題,在其它的linux系統,如:Fedora、Slackware系統等等,網頁伺服程式Apache主要設定檔為
 /etc/apache2/apache2.conf ,但在UBUNTU系統,將原來的單一檔案,依功能分為數個設定檔,並維持由apache2.conf主控整個網站設定,組合而成的樹狀結構:
#       /etc/apache2/                #設定檔所在目錄
#       |-- apache2.conf            #網頁伺服器主設定檔,引入所有的子設定檔案
#       |       `--  ports.conf       #設定監聽網路傳輸埠(port)
#       |-- mods-enabled           #已啟用功能模組目錄
#       |       |-- *.load                #個別模組載入位置
#       |       `-- *.conf               #個別模組功能設定
#       |-- conf-enabled             #已啟用的設定檔案目錄
#       |       `-- *.conf               #個別設定檔案
#       `-- sites-enabled            #已啟用網站功能,如虛擬主機
#               `-- *.conf               #個別虛擬主機功能設定

2.所謂虛擬主機,即在指定網址之外,提供其它網域名稱或網址,連結伺服器主機上的網頁目錄或指定目錄,以單一實體主機形成多台虛擬主機,提供開發網站測試運用及個人網頁服務。
3.設定步驟
3.1建立虛擬網站設定檔
設虛擬網站網址為www.test.com,在/etc/apache2/site-available目錄下建立設定檔

www.test.com.conf 

,注意其預設副檔名為.conf,若要變更副檔名,請修改設定檔

/etc/apache2/apache2.conf 

,將下列內容

# Include the virtual host configurations:
 IncludeOptional sites-enabled/*.conf

 ,改成
 # Include the virtual host configurations:
 IncludeOptional sites-enabled/

設定檔的內容如下,注意www.test.com不要寫成 *:80,若不指定虛擬網站的網址,將無法啟用虛擬網站:


        #網站管理員
        ServerAdmin webmaster@test.com
        #網頁文件目錄
        DocumentRoot /var/www/test-site
        #網站錯誤日誌目錄
        ErrorLog /var/www/test-site/error.log
        #網站存取日誌目錄及檔名
        CustomLog /var/www/test-site/access.log combined


3.2啟用並測試虛擬網址
 在終端執行指令,啟用虛擬網站

sudo a2ensite www.test.com

 設定正確啟動正常,顯示

Site www.test.com already enabled



執行重新載入網頁伺服器指令,




sudo /etc/init.d/apache2 reload
 * Reloading web server apache2                                                  *
 *


(若顯示錯誤訊息,表示虛擬網站設定檔設定錯誤,依訊息修正設定檔)

3.3瀏覽虛擬網站

接下來,於瀏覽器指定虛擬網站的網址,測試連結虛擬網站!