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
完成!!