Linux環境的Apache HTTP Srever架設

作者/陳寰宇

前言 筆者以往只有在Windows環境的工作經驗,經歷的幾個專案的網站也都在windows上頭以IIS架設。最近因為工作需要,開始接觸linux環境,並且使用Apache架設php實做的網站,希望能將自己的經驗分享給有類似需求的初學者,也希望高手們指教。這次在linux上架設動態網站,使用的是Apache + PHP + MySQL。Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放原始碼的網頁伺服器,可以在大多數電腦作業系統中執行,由於其跨平台和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴充,將Perl/Python等直譯器編譯到伺服器中。 PHP(PHP:Hypertext Preprocessor)是一種在電腦上執行的腳本語言,主要用途是在於處理動態網頁,也包含了命令列執行介面(command line interface),或者產生圖形使用者介面(GUI)程式。PHP最早由丹麥人拉斯姆斯‧勒多夫在1995年發明,而現在PHP的標準由PHP Group和開放原始碼社群維護。PHP以PHP License作為許可協議,不過因為這個協議限制了PHP名稱的使用,所以和開放原始碼許可協議GPL不相容。PHP的應用範圍相當廣泛,尤其是在網頁程式的開發上。一般來說PHP大多執行在網頁伺服器上,透過執行PHP程式碼來產生使用者瀏覽的網頁。PHP可以在多數的伺服器和作業系統上執行,而且使用PHP完全是免費的。根據2007年4月的統計資料,PHP已經被安裝在超過2000萬個網站和100萬台伺服器上。 MySQL(發音:,但也經常讀作My-SEQuel)是一個開放原始碼的關聯式資料庫管理系統,原開發者為瑞典的MySQL AB公司,該公司於2008年被昇陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購昇陽微系統公司,MySQL成為Oracle旗下產品。MySQL在過去由於效能高、成本低、可靠性好,已經成為最流行的開源資料庫,因此被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用於更多大規模網站和應用,比如維基百科、Google和Facebook等網站。非常流行的開源軟體組合LAMP中的「M」指的就是MySQL。 Linux環境的Apache HTTP Srever架設 本次裝機OS使用的是CentOS 6.2,以下介紹OS安裝完成後加裝的套件以及安裝語法: yum -y install httpd mysql-server php php-mbstring php-mysql 1.httpd以及 mysql-server為apache、mysql的安裝程式名稱。 2.php-mstring為語言編碼庫,用以支援網頁中的文字編碼。 3.php-mysql為php對mysql支援的模組。 此時我們的主機已經具備當一台webserver的能力了,接下來開始進行AP的相關設定。假設我們開發的網頁全都在根目錄下的Web資料夾,首先針對Apache做設定,其中最重要的就是/etc/httpd/conf/httpd.conf這個檔案,Apache許多相關設定都在這個設定檔裡頭,只要跟httpd.conf做好朋友,相信Apache一定會是陪你上刀山下油鍋不離不棄的摯友。今天在此只要設定: ServerName 192.xxx.xxx.xxx:xxx #主機位置 DocumentRoot "/web" #網頁根目錄 修改完成後記得重新啟動apache服務。上述設定雖然不多,但已經打開了Apache的心房,一般的靜態網頁基本上已經願意在瀏覽器上露臉給你看了,若需要更詳盡的資訊,可以到鳥哥[4]去挖寶。但對於我們這次的網站來說,還少了最重要的DB的data。我們可以透過以下方式,將data匯入mysql中: mysql -u [user] -p < XXX.sql 透過存取Database資料的方式,讓我們更新網頁不管是文字或是圖片更具彈性,不需要每次更改網頁時都需要修改html,現在我們只需要透過修改Datatable內的資料,即可動態置換網頁內容。 動態與靜態網頁 在網路普及的這個年代,我們隨手就可以在網路上瀏覽資料,但對於動態網頁以及靜態網頁卻不見的瞭解他們的差別。如果我們今天看到一個網站,有著跑來跑去的跑馬燈,是不是就是動態網頁?有個網站,播放著很炫的flash動畫,也是一個動態網頁?其實網頁不是說有東西動來動去就是動態網頁,也是有很靜態的動態網頁。所以接著就來了解動態與靜態網頁的定義。 一、靜態網頁: 使用者透過網站所制定的連結方式與展示內容,進行單方向的訊息傳達(由網站傳輸給使用者),使用者本身僅僅只能接收資訊,而無法有任何互動的行為。 二、動態網頁: 使用者藉由其操作端執行訊息輸入,可以與該網站的伺服器進行溝通的互動,並與其資料庫達成雙向的資訊交流行為,例如:購物交易行為、市場調查及網路投票等。

表一、動態與靜態網頁比較
與使用者的互動,成了動態網頁的一大特色,透過主機即時處理並將網頁送至客戶端,雖然加重了伺服器的負擔,但創造出網頁更多的可能。像是現在普遍的網路購物行為,就是動態網頁發產後與我們切身相關,也是常使用到的動態網頁應用。 參考資料 1.http://zh.wikipedia.org/wiki/Apache_HTTP_Server 維基百科 2.http://zh.wikipedia.org/wiki/PHP 維基百科 3.http://zh.wikipedia.org/wiki/MySQL維基百科 4.http://linux.vbird.org/linux_server/0360apache.php#www_basic_basic 鳥哥 5.http://www.neter.com.tw/index.php?selectpage=4&viewnum=14