Ubuntu Linux是在Debian的基礎(chǔ)上開發(fā)出來的,Ubuntu系統(tǒng)能夠良好地運行在Intel x86、PowerPC和AMD64位處理器等多種硬件平臺上,并且可以從全球范圍內(nèi)的開放源代碼社團中獲得良好的支持。盡管Ubuntu是一種新興的Linux分支,但Ubuntu卻為Apache提供了豐富的軟件支持,所以,Ubuntu非常適合作為Web服務(wù)器的平臺。今天,我就給大家介紹如何在Ubuntu Linux系統(tǒng)上迅速搭建Apache Web服務(wù)器,希望本文對讀者學(xué)習(xí)Ubuntu Linux系統(tǒng)有所幫助。
一、安裝Apache
下面,我們首先介紹如何安裝Apache。具體安裝命令如下所示:
$ sudo apt-get install apache2
然后運行Apache,命令如下所示:
$ sudo /etc/init.d/apache2 restart
Apache在安裝期間將會新建一個目錄:/var/www,該目錄是該服務(wù)器中存放文檔的根目錄。只要在瀏覽器的地址欄輸入http://localhost/或機器的IP地址就能訪問放置在此目錄中的所有文檔。
二、安裝PHP
PHP是一種流行的服務(wù)器端腳本語言,一般與MySQL或 Postgres結(jié)合起來用于管理Web內(nèi)容、blog和論壇。下面介紹其安裝方法,其實它的安裝也很簡單,命令如下所示:
$ sudo apt-get install libapache2-mod-php5
重新啟動Apache以加載上面安裝的模塊:
$ sudo /etc/init.d/apache2 restart
為了驗證PHP模塊是否正確加載,我們可以建立一個PHP文件,然后嘗試通過Web服務(wù)器訪問該文件。此外,我們知道PHP內(nèi)建了一個phpinfo函數(shù),該函數(shù)能夠給出它的環(huán)境的詳細信息。所以我們還可以利用下面的命令來檢查PHP的工作情況:
sudo sh -c “echo ‘' > /var/www/info.php”
之后,在瀏覽器地址欄鍵入http://localhost/info.php,然后回車,這時應(yīng)該能看到一個界面,給出剛才安裝的PHP的詳細信息。需要注意的是,如果在此過程中瀏覽器不顯示頁面,而是提示你下載文件,這就說明Apache沒有正確加載PHP模塊。解決問題的辦法是,在/etc/apache2/apache2.conf 或/etc/apache2/mods-enabled/php5.conf文件中加入下面一行命令:
AddType application/x-httpd-php .php .phtml .php3
加入上面的命令行后,為了保證Apache重新讀取配置文件關(guān)閉,我們可以通過下面的命令將其關(guān)閉,然后再加以啟動:
$ sudo /etc/init.d/apache2 stop
$ sudo /etc/init.d/apache2 start
三、配置動態(tài)虛擬主機
一般情況下,我們會在Web服務(wù)器上寄放多個Web站點,并且每個站點都有它自己的虛擬服務(wù)器。對于Apache來說,它同時支持基于名稱的虛擬服務(wù)器和基于IP的服務(wù)器。
對于基于IP的虛擬服務(wù)器,每個站點都具有一個單獨的IP地址,這樣的缺點是使用太多的IP地址,但如今IPv4的地址已有枯竭的跡象,所以不提倡使用,通常在要求使用SSL 時才使用。
對于基于名稱的虛擬服務(wù)器,多個Web站點共享一個IP地址。在這種情況下,通常根據(jù)HTTP請求頭部來決定將其發(fā)給哪一個站點。為此,我們需要為每個虛擬服務(wù)器分別建立一個配置,給作為Web站點的根的目錄以及主機命名。但是,如果這樣的話我們每當(dāng)添加一個新的虛擬服務(wù)器時,就要修改Apache的配置并重新啟動,這的確很煩人呢!
值得高興的是,如果使用動態(tài)虛擬主機技術(shù)的話,可以隨時加入虛擬主機時而不必重新配置或啟動Apache。該技術(shù)要用到一個模塊,稱為vhost_alias。我們可以通過在Apache2已啟用的模塊目錄中建立一個符號鏈接來啟用該模塊,命令如下所示:
$ sudo ln -s /etc/apache2/mods-available/vhost_alias.load \
/etc/apache2/mods-enabled/vhost_alias.load
要想使vhost_alias正常工作,我們還需要修改/etc/apache2/apache2.conf 來關(guān)閉常規(guī)名稱(canonical names),修改日志文件的配置,并為我們的虛擬主機規(guī)定存放位置。下面是一個實例:
#從“Host:”頭中取得主機名
UseCanonicalName Off
# 這種日志格式可以從第一個字段中提取出主機名
LogFormat “%V %h %l %u %t “%r” %s %b” vcommon
CustomLog /var/log/apache2/access_log vcommon
# 在返回請求的文件名路徑中包含主機名
VirtualDocumentRoot /var/www/vhosts/%0/web
VirtualScriptAlias /var/www/vhosts/%0/cgi-bin
接下來,創(chuàng)建存放虛擬主機的目錄,命令如下:
$ sudo mkdir /var/www/vhosts
新建一個基干虛擬服務(wù)器,命令如下所示:
$ sudo mkdir -p /var/www/vhosts/skeleton/cgi-bin
$ sudo cp -a /var/www/apache2-default /var/www/vhosts/skeleton/web
重新啟動apache2,使得上面的配置生效,方法如下所示:
$ sudo /etc/init.d/apache2 restart#p#分頁標題#e#
好了,現(xiàn)在我們可以建立基于名稱的虛擬主機了。方法是將基干拷貝到要響應(yīng)的主機名。舉例來說,要想為www.mysite.com新建一個虛擬服務(wù)器的話,只要運行下面的命令就行了:
$ sudo cp -a /var/www/vhosts/skeleton /var/www/vhosts/www. mysite.com
現(xiàn)在,所有到達你的Apache服務(wù)器的HTTP連接中,只要其“Host:”頭部被設(shè)成 www. mysite.com,那么將由對應(yīng)的虛擬服務(wù)器來響應(yīng)。
為了早些看到我們的勞動成果,可以在本地進行測試。為此編輯/etc/hosts,加入下面一項:
127.0.0.1 www. mysite.com
這樣,在本機上就能訪問該站點了。但是,為了讓所有用戶都能訪問虛擬主機,還需申請域名,并且我們還需要在公共DNS服務(wù)器上進行設(shè)置。


