sun 发表于 2015-10-10 10:26:33

Ali-Linux 模块编译相关

/alidata/server/httpd-2.2.27/bin/apxs -i -c -amod_proxy.c proxy_util.c

/alidata/server/httpd-2.2.27/bin/apxs -c -i mod_proxy.c proxy_util.c proxy_http.c

/alidata/server/httpd-2.2.27/bin/apxs -c -i -a mod_proxy.c proxy_util.c

由于某些原因一些模块在最初安装时并未包含进去,在之后又不想重新编译apache,这时就需要单独编译安装新模块。apxs是一个为Apache超文本传输协议(HTTP)服务器编译安装扩展模块的工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用mod_so中的LoadModule指令在运行时刻加载到Apache服务器中。 安装示例: 本人测试环境中的apache安装时没有配置proxy模块,现在由于需求变化需要重新加入该模块。

之前apache的安装源码为/usr/local/software/httpd-2.2.2 安装路径为/usr/local/apache2。
1、进入apache源代码的modules/proxy目录    # cd /usr/local/software/httpd-2.2.2/modules/proxy

2、运行如下命令自动编译、安装和修改httpd.conf文件,激活mod_proxy模块:   
# /usr/local/apache2/bin/apxs -c -i -a mod_proxy.c proxy_util.c   
# /usr/local/apache2/bin/apxs -c -i -a mod_proxy_http.c proxy_util.c
选项说明: -c 执行编译操作 -i 安装操作,安装一个或多个动态共享对象到服务器的modules目录 -a
自动增加一个LoadModule行到httpd.conf文件,以激活此模块,若此行存在则启用之 -A 与-a类似,
但是它增加的LoadModule行前有井号前缀(#) -e 需要执行编辑操作,可与-a和-A选项配合使用,
与-i操作类似,修改httpd.conf文件,但并不安装此模块
3. 重启apache。

# /alidata/server/httpd-2.2.27/bin/apxs -c -i -a mod_proxy.c proxy_util.c
/alidata/server/httpd/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/alidata/server/httpd/include-I/alidata/server/httpd/include   -I/alidata/server/httpd/include   -c -o mod_proxy.lo mod_proxy.c && touch mod_proxy.slo
gcc: mod_proxy.c: No such file or directory
gcc: no input files
apxs:Error: Command failed with rc=65536
.


/alidata/server/httpd-2.2.27/bin/apxs -c -i -a -I/alidata/server/httpd-2.2.27/include mod_proxy.c proxy_util.c

/alidata/server/httpd-2.2.27/bin/apxs -c -I/alidata/server/httpd-2.2.27/include -i -I/alidata/server/httpd-2.2.27/include mod_proxy.c proxy_util.c proxy_http.c

方法2:采取wget方式下载发布包:wget http://safedog.cn/safedog_linux32.tar.gz


安装服务器安全狗——三合一Linux防护软件(服务器/Nginx/Apache防护全支持)
在root 帐户下执行以下命令:
tar xzvf safedog_linux32.tar.gz
cd safedog_linux32
chmod +x *.py
./install.py




service iptables status
修改/etc/sysconfig/iptables 文件,添加以下内容:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT


1) 重启后生效

  开启: chkconfig iptables on

  关闭: chkconfig iptables off



2) 即时生效,重启后失效

  开启: service iptables start

  关闭: service iptables stop


rm -f 文件名


/root/sh-1.3.0-centos/httpd-2.2.27/modules/proxy/mod_proxy.c


/root/sh-1.3.0-centos/httpd-2.2.27/bin/apxs -i -c -amod_proxy.c proxy_util.c






LoadModule rewrite_module   modules/mod_rewrite.so
#LoadModule php5_module      modules/libphp5.so
LoadModule proxy_module       modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module   modules/mod_proxy_ftp.so


/alidata/server/httpd-2.2.27/bin/apxs -i -c -amod_proxy.c proxy_util.c


mod_proxy_connect.so

mod_proxy_ftp.so

/alidata/server/httpd-2.2.27/bin/apxs -i -c -a mod_proxy_connect.c mod_proxy_ftp.c


/alidata/server/httpd-2.2.27/bin/apxs -i -c -a mod_proxy_http.so



开启反向解析 加载未经编译模块
步骤1 modules/proxy/
/alidata/server/httpd-2.2.27/bin/apxs -i -c -amod_proxy.c proxy_util.c #这两个一定要一起编译!!!
/alidata/server/httpd-2.2.27/bin/apxs -i -c -a mod_proxy_connect.c
/alidata/server/httpd-2.2.27/bin/apxs -i -c -a mod_proxy_ftp.c
/alidata/server/httpd-2.2.27/bin/apxs -i -c -a mod_proxy_http.c
步骤2 modules/proxy/mappers
/alidata/server/httpd-2.2.27/bin/apxs -i -c -a mod_rewrite.c

重启服务

find / -name httpd.conf

初始化Mysql
/alidata/server/mysql-5.5.37/scripts/mysql_install_db --basedir=/alidata/server/mysql-5.5.37 --datadir=/mnt/MysqlData --user=mysql



主服务器不解析PHP
AddType application/x-httpd-php .php
LoadModule php5_module modules/libphp5.so
<IfModule mod_php5.c>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
</IfModule>

页: [1]
查看完整版本: Ali-Linux 模块编译相关