天天看點

Apache2 之虛拟主機設定指南

本文出處:ubuntu.org.cn

本文作者:FireHare

翻譯人員:無

校對人員:無

适用版本:Apache 2

最近好象有不少 Ubuntu 的兄弟在 Gaim 中詢問關于 Apache2 虛拟主機的設定,今天正好有點時間,是以我就邊試驗邊寫了這篇指南,供大家參考。

作業系統:Ubuntu 5.10

測試機位址:10.39.6.59

測試機域名:*.firehare.com

我們都知道,如果我們想在單台機器上設定多個域名或主機名時,我們就要用到基于名稱的虛拟主機了。那麼要如何進行設定呢?這就是本指南想解決的問題了。在 Ubuntu 的 /etc/apache2/ 目錄下有個 Apache2 的主配置檔案 apache2.conf。在該檔案中我們可以看到有這麼一行内容:

這行的意思表明該檔案包含了 /etc/apache2/sites-enabled/ 目錄中檔案名不含 "." 或 "#" 這兩個字元的所有檔案。而當我們列出該目錄的檔案時,發現隻有一個 000-default 的軟連結檔案,實際連接配接的是 /etc/apache2/sites-available 目錄中的 default 檔案,不難看出該檔案的檔案名中并不包含 "." 或 "#"。是以這個檔案當然是要被配置檔案 apache2.conf 所包含的了。打開該檔案,發現它其實是一個虛拟主機的配置檔案,不過由于該檔案中的虛拟主機為 *,是以它實際上是一個通用配置檔案。如果我們要建立虛拟主機的話,那麼就要把該檔案改成如下所示:

下面我們來分析一下上面這段設定中與虛拟主機有關的設定語句:

NameVirtualHost 10.39.6.59:表示我們要做的是一個基于名稱的虛拟主機,且其 IP 位址為 10.39.6.59

 和 :表示在其中的是一個虛拟主機的配置

ServerName www.firehare.com:設定虛拟主機的域名

ServerAdmin [email protected]:設定該虛拟主機網管員的郵件

DocumentRoot /var/www/:設定該虛拟主機的主目錄路徑

ErrorLog /var/log/apache2/error.log:設定該虛拟主機的出錯資訊

CustomLog /var/log/apache2/access.log combined:設定該虛拟主機的通路資訊

這樣我們就配置了一個虛拟主機 www.firehare.com。但由于這是預設配置,是以在 Apache2 重新開機之後,無論你輸入 DNS 伺服器中指向這個主機的任何域名,都會被導向 www.firehare.com 這個預設配置所指向的 /var/www 這個目錄的。除非該域名被其他虛拟主機配置所用,比如我們還配置了 edunuke.firehare.com 指向本機,且配置了相應的虛拟主機,這樣的話,輸入域名 edunuke.firehare.com 就會被對應該域名的目錄中。

為了說明清楚 我們再添加一個虛拟主機站點 edunuke.firehare.com,首先到 /etc/apache2/sites-available/ 目錄中建立一個檔案 edunuke。當然這個檔案名中是沒有 "." 或 "#" 這兩個字元的了。然後編輯該檔案:

設定的具體含義同上面的相似,這是我就不再多說了。然後再運作指令:

這樣的話,虛拟主機站點 edunuke.firehare.com 就已經安裝好了。這時你也可以在 /etc/apache2/sites-enabled/ 目錄中發現多了一個到 /etc/apache2/sites-available/edunuke 的軟連結。接下來就是将 Apache2 重新開機來使虛拟主機站點運作起來:

這樣你在浏覽器上輸入 edunuke.firehare.com 的話,就會被指向 /var/www/edunuke 目錄了,而輸入其他指向本機的域名則都會指到預設配置中的 /var/www 目錄中。熟悉 Apache2 的朋友會問為什麼這樣麻煩,放在一個檔案中不也是可以嗎?為什麼要用兩個檔案呢?其實很簡單,因為如果我要對 edunuke 站點進行維護時,我隻要運作指令:

即可,這樣既可以維護 edunuke 這個站點,同時還不影響其他站點的正常運作。

上面談了一下簡單的虛拟主機配置方法。這個基本上能滿足我們大部分的需要。但如果要是安裝 Zope+Plone 的話,上面的這點設定是遠遠不夠的,由于 Zope+Plone 結構所采用的端口并非是80端口,是以我們還得做端口重定向。為了能夠做這個,我們得激活 Rewrite 和 Proxy 兩個子產品。激活子產品很簡單,同站點配置目錄一樣,在 Apache2 中也有兩個子產品配置目錄:mods-available 和 mods-enabled。在 mods-available 目錄中的是所有可用的子產品,而在 mods-enabled 目錄中的則是已被安裝到 Apache2 中的子產品。由于在 mods-available 目錄中已經有了 Rewrite 和 Proxy 子產品的配置引導檔案,是以隻需要簡單地将其安裝到 Apache2 中即可。使用指令:

然後,添加虛拟主機站點 plone.firehare.com,同 edunuke 站點建立相似在/etc/apache2/sites-available/ 目錄中建立一個檔案 plone。顯然這個檔案名中是沒有 "." 或 "#" 這兩個字元的了。然後編輯該檔案:

這樣就安裝好了 plone.firehare.com 虛拟主機站點,可以在浏覽器中位址欄中輸入 http://plone.firehare.com 就可以重定向到 Zope+Plone 站點去了。

本文轉自 firehare 51CTO部落格,原文連結:http://blog.51cto.com/firehare/587126,如需轉載請自行聯系原作者