Ubuntu下配置PHP服務器 |
發布時間: 2012/8/13 11:39:48 |
Apache是一種功能強大的Web服務器。如今,Internet上無數運行在Linux上的Apache服務器正為Web世界的日益繁榮提供著有力的支撐。本文將向讀者介紹如何在UbuntuLinux系統迅速搭建ApacheWeb服務器。
盡管Ubuntu是一種新興的Linux分支,但Ubuntu組織卻為Apache提供了豐富的支持軟件,這些軟件都可以從發行版的光盤獲取,也可以從官方站點輕松下載。所以,Ubuntu非常適合作為Web服務器的平臺。 一、安裝Apache 下面,我們首先介紹如何安裝Apache。具體安裝命令如下所示: $sudoapt-getinstallapache2 然后運行Apache,命令如下所示: $sudo/etc/init.d/apache2restart Apache在安裝期間將會新建一個目錄:/var/www,該目錄是該服務器中存放文檔的根目錄。只要在瀏覽器的地址欄輸入http://localhost/或機器的IP地址就能訪問放置在此目錄中的所有文檔。 二、安裝PHP PHP是一種流行的服務器端腳本語言,一般與MySQL或Postgres結合起來用于管理Web內容、blog和論壇。下面介紹其安裝方法,其實它的安裝也很簡單,命令如下所示: $sudoapt-getinstalllibapache2-mod-php5 重新啟動Apache以加載上面安裝的模塊: $sudo/etc/init.d/apache2restart 為了驗證PHP模塊是否正確加載,我們可以建立一個PHP文件,然后嘗試通過Web服務器訪問該文件。此外,我們知道PHP內建了一個phpinfo函數,該函數能夠給出它的環境的詳細信息。所以我們還可以利用下面的命令來檢查PHP的工作情況: sudosh-c"echo''>/var/www/info.php" 之后,在瀏覽器地址欄鍵入http://localhost/info.php,然后回車,這時應該能看到一個顏面,給出剛才安裝的PHP的詳細信息。需要注意的是,如果在此過程中瀏覽器不顯示頁面,而是提示你下載文件,這就說明Apache沒有正確加載PHP模塊。解決問題的辦法是,在/etc/apache2/apache2.conf或/etc/apache2/mods-enabled/php5.conf文件中加入下面一行命令: AddTypeapplication/x-httpd-php.php.phtml.php3 加入上面的命令行后,為了保證Apache重新讀取配置文件關閉,我們可以通過下面的命令將其關閉,然后再加以啟動: $sudo/etc/init.d/apache2stop $sudo/etc/init.d/apache2start 一般情況下,我們會在Web服務器上寄放多個Web站點,并且每個站點都有它自己的虛擬服務器。對于Apache來說,它同時支持基于名稱的虛擬服務器和基于IP的服務器。 對于基于IP的虛擬服務器,每個站點都具有一個單獨的IP地址,這樣的缺點是使用太多的IP地址,但如今IPv4的地址已有枯竭的跡象,所以不提倡使用,通常在要求使用SSL時才使用。 對于基于名稱的虛擬服務器,多個Web站點共享一個IP地址。在這種情況下,通常根據HTTP請求頭部來決定將其發給哪一個站點。為此,我們需要為每個虛擬服務器分別建立一個配置,給作為Web站點的根的目錄以及主機命名。但是,如果這樣的話我們每當添加一個新的虛擬服務器時,就要修改Apache的配置并重新啟動,這的確很煩人呢! 值得高興的是,如果使用動態虛擬主機技術的話,可以隨時加入虛擬主機時而不必重新配置或啟動Apache。該技術要用到一個模塊,稱為vhost_alias。我們可以通過在Apache2已啟用的模塊目錄中建立一個符號鏈接來啟用該模塊,命令如下所示: $sudoln-s/etc/apache2/mods-available/vhost_alias.load /etc/apache2/mods-enabled/vhost_alias.load 要想使vhost_alias正常工作,我們還需要修改/etc/apache2/apache2.conf來關閉常規名稱(canonicalnames),修改日志文件的配置,并為我們的虛擬主機規定存放位置。下面是一個實例: #從"Host:"頭中取得主機名 UseCanonicalNameOff #這種日志格式可以從第一個字段中提取出主機名 LogFormat"%V%h%l%u%t"%r"%s%b"vcommon CustomLog/var/log/apache2/access_logvcommon #在返回請求的文件名路徑中包含主機名 VirtualDocumentRoot/var/www/vhosts/%0/web VirtualScriptAlias/var/www/vhosts/%0/cgi-bin 接下來,創建存放虛擬主機的目錄,命令如下: $sudomkdir/var/www/vhosts 新建一個基干虛擬服務器,命令如下所示: $sudomkdir-p/var/www/vhosts/skeleton/cgi-bin $sudocp-a/var/www/apache2-default/var/www/vhosts/skeleton/web 重新啟動apache2,使得上面的配置生效,方法如下所示: $sudo/etc/init.d/apache2restart 好了,現在我們可以建立基于名稱的虛擬主機了。方法是將基干拷貝到要響應的主機名。舉例來說,要想為www.mysite.com新建一個虛擬服務器的話,只要運行下面的命令就行了: $sudocp-a/var/www/vhosts/skeleton/var/www/vhosts/ www.mysite.com 現在,所有到達你的Apache服務器的HTTP連接中,只要其“Host:”頭部被設成www.mysite.com,那么將由對應的虛擬服務器來響應。 為了早些看到我們的勞動成果,可以在本地進行測試。為此編輯/etc/hosts,加入下面一項: 127.0.0.1www.mysite.com 這樣,在本機上就能訪問該站點了。但是,為了讓所有用戶都能訪問虛擬主機,還需申請域名,并且我們還需要在公共DNS服務器上進行設置。 本文出自:億恩科技【www.ypdoo.com.cn】 |