apache安裝後,如果想再添加模塊,往往不想重新安裝一次,再者,我在安裝中發現,並不是安裝文件中所有的modules都會被默認安裝,即使在安裝中使用了 ./configure --prefix=/usr/local/apache --enable-so --enable-modules=all --enable-mods-shared=all也是如此。我使用上述方法安裝的apache2.2.6就沒有安裝proxy相關模塊。這時,需要手工生成so文件,但會自動的被複制到你的apache安裝目錄的modules中,然後修改apache的配置文件,加載相關模塊,驗證apache配置並重啓服務即可。以上描述的具體操作步驟如下:
操作系統:linux redhat 4.5 ES
apache版本:2.2.6 可自行下載tar包
1. 拷貝安裝包到/usr/local,並在目標目錄下進行解壓。
[root@localhost local]# cd /usr/local
[root@localhost local]# tar -zxvf httpd-2.2.4.tar.gz
2. 配置安裝參數,安裝的目標目錄爲/usr/local/apache,建議設置enable-mods-shared=all,不用的module註釋掉就行了!
[root@localhost local]# cd httpd-2.2.4
[root@localhost httpd-2.2.4]# ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all
3. 編譯並安裝。
[root@localhost httpd-2.2.4]# make
[root@localhost httpd-2.2.4]# make install
4. 啓動Apache,並測試。
[root@localhost httpd-2.2.4]# cd /usr/local/apache/bin
[root@localhost bin]# ./apachectl start
打開瀏覽器,並在地址欄中輸入主機的IP地址
如http://Localhost/
如果出現以下畫面則說明安裝成功。
It works!
注意:安裝完成後檢查系統服務中的HTTPD服務是否已經啓動,如果啓動需要先停止。
5. 編譯mod_proxy.so.
[root@localhost httpd-2.2.4]# cd modules
[root@localhost modules]# /usr/local/apache/bin/apxs -c -i mod_proxy.c proxy_util.c
這時生成的mod_proxy.so會被自動複製到/usr/local/apache/modules
6. 修改配置文件
[root@localhost modules]# cd /usr/local/apache/conf
[root@localhost conf]# vi httpd.conf
添加一行 LoadModule proxy_module modules/mod_proxy.so
7. 測試配置是否正確
[root@localhost conf]# cd ..
[root@localhost apache]# cd bin
[root@localhost bin]# ./apachectl configtest
出現如下信息證明配置正確
[Fri Nov 23 15:45:55 2007] [warn] module rewrite_module is already loaded, skipping
Syntax OK
8. 重新啓動apache
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start
完成!!