Linux Apache PHP編譯配置,linuxapache
1、下載Apache Web伺服器源碼及相關依賴庫
進入http://www.apache.org,選擇一個伺服器下載相關的源碼。這裡請注意:apache其實是一個基金會名稱,旗下有很多開源項目,apache web伺服器只是apache基金會其中一個項目而已,所以很多朋友在進入apache首頁後,很難找到apache web server下載的地方,apache web server在其源碼庫中名稱為httpd-xxx(xxx為版本)。基本步驟是:首頁點擊download,進入下載頁後,選擇一個伺服器,一般選擇國內伺服器即可(.cn網域名稱或標註為在China的伺服器即可),這裡我們選擇:http://mirrors.hust.edu.cn/apache/,進入伺服器後,點擊httpd目錄,選擇一個最新穩定版下載即可(如:http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.10.tar.bz2);下載好web server 源碼後,返回上級目錄(即:http://mirrors.hust.edu.cn/apache/),下載httpd的依賴庫apr(apr好像是apache portalble runtime的簡寫,就是apache的可移植運行庫,很多開源軟體都構建在這個庫上,如PHP,這個庫提供一些跨平台的系統功能,如記憶體管理等),點擊apr檔案夾,下載apr和apr-uitl源碼(如:http://mirrors.hust.edu.cn/apache/apr/apr-1.5.1.tar.bz2,http://mirrors.hust.edu.cn/apache/apr/apr-util-1.5.4.tar.bz2)。
apache除了依賴apr和apr-util,還依賴於pcre庫,這個庫是一個跨平台的Regex處理庫,官方網址為http://www.pcre.org/,進入首頁後,選擇一個伺服器,下載一個最新版本源碼即可(如:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.bz2)。
2、Apache Web伺服器編譯
編譯安裝pcre庫,編譯比較簡單,經典的configure、make、make install ,這裡我們將其安裝目錄指定為/opt/pcre,並編譯為靜態庫:
tar -jxvf pcre-8.36.tar.bz2
cd pcre-8.36
./configure --prefix=/opt/pcre --disable-shared --enable-static
make
make install(可能需要root許可權)
下面編譯apache,這裡我們將安裝目錄指定為/opt/apache:
解壓相關源碼:
tar -jxvf httpd-2.4.10.tar.bz2
tar -jxvf apr-1.5.1.tar.bz2 -C httpd-2.4.10/srclib
tar -jxvf apr-util-1.5.4.tar.bz2 -C httpd-2.4.10/srclib
後兩句命令功能是將apr和apr-util源碼解壓httpd-2.4.10/srclib目錄下。
解壓完成後,進入httpd-2.4.10/srclib目錄,將apr-1.5.1目錄重新命名為apr,將apr-util-1.5.4重新命名為apr-util(在srclib下執行命令mv apr-1.5.1 apr和mv apr-util-1.5.4 apr-util即可)。
這裡將apr和apr-util源碼解壓在srclib且進行重新命名主要是要通過apache的編譯配置選項--with-included-apr指定apr的位置,以免再單獨安裝這兩個庫。
httpd-2.4.10目錄下執行:
./configure --prefix=/opt/apache --with-pcre=/opt/pcre --with-included-apr --enable-so
make
make install(可能需要root許可權)
安裝完成後即可啟動apache伺服器了;apache的基本操作(注意,以下操作需要root許可權):
/opt/apache/bin/apachectrl start(啟動)
/opt/apache/bin/apachectrl restart(重啟)
/opt/apache/bin/apachectrl stop(停止)
如果沒有設定管理員名稱,在啟動時,會有警告資訊,開啟apache/conf/httpd.conf,設定:
ServerName localhost
即可。啟動apache後,使用瀏覽器輸入127.0.0.1,如果出現
It works!
表示apache已經成功啟動了。
3、PHP源碼及依賴庫下載
php依賴libxml2庫,libxml2官方地址為:http://www.xmlsoft.org/,進入下載頁(ftp://xmlsoft.org/libxml2/),下載最新版本的libxml2即可,這裡我們選擇(ftp://xmlsoft.org/libxml2/libxml2-sources-2.9.0.tar.gz);
PHP官方地址為http://www.php.net/,進入下載頁http://www.php.net/downloads.php,下載最新穩定版本源碼即可,這裡我們選擇(http://cn2.php.net/distributions/php-5.4.36.tar.bz2);
4、PHP編譯
編譯libxml2,這裡我們將安裝目錄指定為/opt/libxml2,和pcre庫一樣,也編譯為靜態庫:
tar -jxvf libxml2-sources-2.9.0.tar.gz
cd libxml2-2.9.0
./configure --prefix=/opt/libxml2 --enable-static --disable-shared
make
make install(可能需要root許可權)
下面編譯PHP:
tar -jxvf php-5.4.36.tar.bz2
cd php-5.4.36
./configure --prefix=/opt/php/ --with-apxs2=/opt/apache/bin/apxs --with-pcre-dir=/opt/pcre/ --with-libxml-dir=/opt/libxml2 --with-config-file-path=/opt/php
其中選項--with-apxs2是指定apache apxs工具位置,指定這個選項後,配置php時,會自動搜尋apr的相關配置,並且在安裝php時,會將libphp5.so安裝在apache動態模組目錄,並自動修改apache的配置載入libphp5.so等;--with-config-file-path是指定PHP的設定檔php.ini的搜尋目錄。
make
make install
安裝完成後,將php-5.4.36/php.ini-production複製到/opt/php/php.ini(運行命令 cp php.ini-production /opt/php/php.ini即可),複製完成後,開啟apache設定檔apache/conf/httpd.conf,在<IfModule mime_module></IfModule>之間添加以下內容,否則apache不能解析php檔案:
AddType application/x-httpd-php .php
搜尋index.html,在其後添加index.php
配置完成後,重新啟動apache(運行命令:/opt/apache/bin/apachectrl restart即可<需要root許可權>)。
5、簡單測試
在/opt/apache/htdocs/下建立index.php檔案,輸入php經典測試內容:
<?php
phpinfo();
?>
開啟瀏覽器,輸入127.0.0.1/index.php