1. 壹是完全重新編譯Apache, 再安裝
2. 編譯模塊為SO文件,使用LoadModule指令加載擴展模塊。
apache安裝後追加mod_rewrite
1.apache1.3
apache_1.3.34.tar.gz 解壓後的目錄為 /root/apache_1.3.34 文中簡稱為“源碼目錄”
apache安裝目錄 /usr/local/apache 文中簡稱為“目標目錄”
步驟:
1、Apache安裝rewrite模塊的時候需要DBM支持,否則無法編譯,所以首先要安裝壹個GDBM
下載地址:ftp://ftp.gnu.org/gnu/gdbm/
安裝步驟:
進入安裝目錄,
./configure
make
make install
make install-compat (最後行也要執行。否則無法編譯出ndbm.h頭文件)
如果您不能確定服務器上是否已經裝有DBM,那麽可以安裝壹下。否則這步可以跳過。
2、現在到apache源碼目錄的標準模塊目錄中(/root/apache_src/src/modules/standard/)中,使用如下指令編譯出so文件:
/usr/local/apache/bin/apxs -c mod_rewrite.c -lgdbm
即可得到mod_rewrite.so文件。
備註:"-lgdbm"是用為說明在編譯mod_rewrite.c時要把gdbm鏈接進來。這樣在第6步啟動apache時就不會報出"dbm fetch"的錯誤了。
3、現在讓apache的apxs來自動向http.conf配置文件中加入LoadModule語句並將mod_rewrite.so文件拷貝到apache/libexec目錄
/usr/local/apache/bin/apxs -i -A -n rewrite /root/apache_1.3.34/src/modules/standard/mod_rewrite.so 備註:命令中的rewrite參數是告訴apxs命令mod_rewrite.so文件中的模塊名。在命令執行後,apxs會在LoadModule中為rewrite加上"_module"以標名模塊名稱。
如果妳在啟動apache時發現總是給出“不能定位API”之類的錯誤,那就是說明LoadModule後面的模塊名的語法要根據您的apache版本加以改變。
4、停止apache
apache/bin/apachectl stop
5、運行配置文件檢查命令
apache/bin/apachectl configtest
如顯示Syntax OK,則表示整個操作成功。那麽可以到第6步。否則根據提示信息進行調試。但只要按照此文所說進行操作是不會出錯的。
6、啟動apache。
apache/bin/apachectl start