服务器维护,服务器代维,安全设置,漏洞扫描,入侵检测服务

运维之家

 找回密码
 注册
搜索
查看: 3758|回复: 0

apache单独编译mod_proxy模块并添加模块

[复制链接]
dirtysea 发表于 2010-11-8 14:36:02 | 显示全部楼层 |阅读模式
假设apache源代码目录:/root/httpd-2.2.6,已安装的apache路径为:/opt/apache2
一、安装
#cd /root/httpd-2.2.6/modules/mod_proxy   (我测试需要**mod_proxy目录才可以 版本2.2.11)
#/opt/apache2/bin/apxs -c -i -a mod_proxy.c proxy_util.c
这将自动编译、安装和修改httpd.conf文件,激活mod_proxy模块。
二、测试
#/opt/apache2/bin/httpd -t     #测试httpd.conf配置文件语法和模块是否能正确加载
#/opt/apache2/bin/apachectl restart
#/opt/apache2/bin/httpd -M   #是否mod_proxy被加载附:apxs命令的安装和配置选项
-i 此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中。
-a 此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启用之。
-A 与 -a 选项类似,但是它增加的LoadModule命令有一个井号前缀(#),即此模块已经准备就绪但尚未启用。
-e 表示需要执行编辑操作,它可以与 -a 和 -A 选项配合使用,与 -i 操作类似,修改Apache的httpd.conf文件,但是并不安装此模块。




@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                         第二部分
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


最近想把apache2的proxy代理模加添加进去,但ports树下面无法找到mod_proxy的ports,经网上查找才知道mod_proxy是本身在apache2源码中自带的,默认安装的时候没有编译进去,需要重新编译和安装整个apache2,并且编译的时候要打开WITH_PROXY_MODULES选项,但我又不想重新安装apache,所以使用以下步骤达到此目的。
1、重新编译带有proxy模块的apache,但不安装。
#cd /usr/port/www/apache2
#make WITH_PROXY_MODULES=yes
2、        复制编译好的mod_proxy模块到apache2的存放模块的目录下
#cd /usr/ports/www/apache2/work/httpd-2.0.53/modules/proxy/.libs/
#cp *.so  /usr/local/libexec/apache2/
3、        在http.conf中添加以下代码来加载模块
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so
<IfModule mod_proxy.c>;
ProxyRequests On
<roxy *>;
Order deny,allow
Allow from all
</Proxy>;
</IfModule>;
4、        然后在配置代理
(具体代理配置,请查看apache2中文手册 http://kajaa.bbs.us/ApacheManual/mod/mod_proxy.html)
5、        配置完后,重新启动apache
# /usr/local/etc/rc.d/apache restart
结束
转自:http://www.huomo.cn/sysapp/article-392.html
------------
如果要设置http正向代理,还需编译mod_proxy_http
/opt/apache2/bin/apxs -c -i -a mod_proxy_http.c proxy_util.c
在httpd.conf中添加
Listen 8080
<VirtualHost *:8080>
ProxyRequests On
</VirtualHost>
默认所有https请求也将转为http请求,若要https请求也能正常访问,必须编译mod_proxy_connect
/opt/apache2/bin/apxs -c -i -a mod_proxy_connect.c  proxy_util.c
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|运维之家

GMT+8, 2022-1-25 13:50 , Processed in 0.043761 second(s), 14 queries .

Powered by Dirtysea

© 2008-2020 Dirtysea.com.

快速回复 返回顶部 返回列表