2009年3月22日 星期日

如何以原始碼建置Apache+PHP的環境

Apache, 當今市佔率最高的網頁伺服器軟體,
他支援的平台廣泛的從各種的Unix和Linux作業系統到M$ Windows, Mac, 廣泛的開發者和使用者, 豐富的模組支援和server side scripts, 與Java的整合, 讓不管是要自己架設網站或是從事商業活動的需求, Apache web server都是上上之選.

小弟我從學生時代到工作, 就一直是Apache的愛用者, Apache能做的事很多,
如果家裡剛好有一台舊電腦不用, 就可以把它拿來好好的做應用

接下來我分別就底下幾個topic來介紹Apache的應用
1. 從原始碼建置Apache+PHP環境
2. WebDAV架設自己的網路硬碟
3. 用Ampache架設管理MP3伺服器
4. ICECAST擁有自己的音樂電台

從原始碼建置Apache+PHP的環境開始, 首先是下載原始檔案
本介紹的範例是用最新版本的Apache和PHP
httpd-2.2.11.tar.gz
PHP 5.2.9 (tar.gz)

Apache的原始檔案到底下的Link下載
http://httpd.apache.org/download.cgi

PHP的原始檔案到底下Link下載
http://www.php.net/downloads.php

Apache:
1. 原始碼解壓縮
# tar zxvf httpd-2.2.11.tar.gz

2. Configure Apache
Default的Apache底下的模組是被enable的, 也就是說底下的模組都會被build到apache裡, 如果需要disable其中的選項, 只要在configure的options裡加入例如 --disable-status 便可.
mod_actions.
mod_alias.
mod_asis.
mod_auth.
mod_autoindex.
mod_access.
mod_cgi
mod_cgid
mod_charset_lite
mod_dir.
mod_env.
mod_imagemap.
mod_include.
mod_log_config
mod_mime
mod_negotiation.
mod_setenvif.
mod_status.
mod_userdir
採外Apache支援動態模組載入機制, 有這個機制每次想家新的模組支援, 才不用都要重建整個原始碼
-- enable-so 就是enable apache的動態模組機制, 只要enable了動態模組機制, 如果想將以上的內建模組build成動態模組, 譬如要把mod_userdir build成動態模組, 只要在configure的項目加入 --enable-userdir=shared便可.

我們在configure apache先只加入-- enable-so
# cd httpd-2.2.11/
# ./configure --prefix=/usr/local/apache -- enable-so

3. Build Binary
# make
# make install

Apache大功告成

接下來是PHP模組
1. 原始碼解壓縮
# tar zxvf php-5.2.9.tar.gz

2. Configure PHP
在編輯PHP時候需要apache的apxs來編譯, 所以必須在configure裡加入 --with-apxs2=/usr/local/apache/bin/apxs
# cd php-5.2.9/
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs

3. Build binary
# make
# make install

PHP建置好了,接下來是設定檔
1. PHP設定檔, copy source code裡的php.ini-dist到 /usr/local/php/lib/php.ini

2. 編輯/usr/local/apache/conf/httpd.conf
把底下這行加入httpd.conf的任何一個地方
LoadModule php5_module modules/libphp5.so

3. 然後是這幾行加到httpd.conf的任何一個地方

SetHandler application/x-httpd-php


完成了, 接下來可以run底下的command來啟動apache
# /usr/local/apache2/bin/apachectl start

可以開始把網頁或是php程式放到/usr/local/apache/htdocs裡測試了.

下次介紹
"WebDAV架設自己的網路硬碟"
WebDAV是HTTP 1.1標準中的一項功能,使用者端可以透過HTTP協定來新增、刪除、修改網頁上的資料, 透過WebDAV來存取網站, 網站上的資料就如在本機中一樣,
有了WebDAV, 你可以把通訊錄或是行事曆檔案放在WebDAV上, 所以的奘置包含notebook, 手機就可以裡用這個方法同步, 也可以和朋友分享.

好想喝coffee...順便貼一張照片分享
Sharing!!

沒有留言:

張貼留言