CentOS详细装配之三:编译apache模块

CentOS详细安装之三:编译apache模块

安装apache之前首先需要安装几个支持模块:apr-1.3.9.tar.gz;apr-util-1.3.9.tar.gz

ps:./configure 后面参数是两个-然后引用是一个-

1.安装apr-1.3.9

先解压:tar -zxvf apr-1.3.9.tar.gz(x解压c压缩)

然后进入文件夹根目录:./configure --prefix=/usr/local/apr-httpd/

make

make install

 

2.安装apr-util-1.3.9(依赖apr-1.3.9所以安装顺序一定不能搞错)

先解压:tar -zxvf apr-util-1.3.9.tar.gz(x解压c压缩)

然后进入文件夹根目录:./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/

make

make instal

 

3.apr相关脚本详细介绍

用于apr的configure脚本的选项:
可选特性
--enable-experimental-libtool 
启用试验性质的自定义libtool 
--disable-libtool-lock 
取消锁定(可能导致并行编译崩溃) 
--enable-debug 
启用调试编译,仅供开发人员使用。 
--enable-maintainer-mode 
打开调试和编译时警告,仅供开发人员使用。 
--enable-profile 
打开编译profiling(GCC) 
--enable-pool-debug[=yes|no|verbose|verbose-alloc|lifetime|owner|all] 
打开pools调试 
--enable-malloc-debug 
打开BeOS平台上的malloc_debug 
--disable-lfs 
在32-bit平台上禁用大文件支持(large file support) 
--enable-nonportable-atomics 
若只打算在486以上的CPU上运行Apache ,那么使用该选项可以启用更加高效的基于互斥执行的原子操作。 
--enable-threads 
启用线程支持,在线程型的MPM上必须打开它 
--disable-threads 
禁用线程支持,如果不使用线程化的MPM ,可以关闭它以减少系统开销。 
--disable-dso 
禁用DSO支持 
--enable-other-child 
启用可靠子进程支持 
--disable-ipv6 
禁用IPv6支持 
可选的额外程序包
--with-gnu-ld 
指定C编译器使用 GNU ld 
--with-pic 
只使用 PIC/non-PIC 对象[默认为两者都使用] 
--with-tags[=TAGS] 
包含额外的配置 
--with-installbuilddir=DIR 
指定APR编译文件的存放位置(默认值为:’${datadir}/build’) 
--without-libtool 
禁止使用libtool连接库文件 
--with-efence[=DIR] 
指定Electric Fence的安装目录 
--with-sendfile 
强制使用sendfile(译者注:2.6系列的Linux内核已经不再支持sendfile系统调用) 
--with-egd[=DIR] 
使用EDG兼容的socket 
--with-devrandom[=DEV] 
指定随机设备[默认为:/dev/random] 
用于apr-util的configure脚本的选项:
可选的额外程序包
--with-apr=PATH 
指定APR的安装目录(–prefix选项值或apr-config的路径) 
--with-ldap-include=PATH 
ldap包含文件目录(带结尾斜线) 
--with-ldap-lib=PATH 
ldap库文件路径 
--with-ldap=library 
使用的ldap库 
--with-dbm=DBM 
选择使用的DBM类型DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44} 
--with-gdbm=PATH 
指定GDBM的位置 
--with-ndbm=PATH 
指定NDBM的位置 
--with-berkeley-db=PATH 
指定Berkeley DB的位置 
--with-pgsql=PATH 
指定PostgreSQL的位置 
--with-mysql=PATH 
参看INSTALL.MySQL文件的内容 
--with-sqlite3=PATH 
指定sqlite3的位置 
--with-sqlite2=PATH 
指定sqlite2的位置 
--with-expat=PATH 
指定Expat的位置或’builtin’ 
--with-iconv=PATH 
iconv的安装目录 

 

4.安装httpd(apache)

解压后:

./configure --prefix=/usr/local/apache22 --enable-so --with-mpm=worker --enable-mods-shared=all --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/ --enable-cache --enable-disk-cache --enable-mem-cache

make

make install

 

5.安装mod插件

解压后:/usr/local/apache22/bin/apxs -i -a -c mod_evasive20.c

然后到/usr/local/apache22/conf/httpd.conf看一下是否加载到这个mod_evasive20.so

使用find / -name mod_evasive20.so可以直接全局搜索有这个so的目录

使用whereis也可,但是whereis是只有被索引了的文件才能查到,find -name的话则是常规的查找。所以whereis可能要过段时间才能搜索到。whereis是模糊搜索。

详细该插件的介绍见mod_evasive 介绍。

 

6.检测httpd是否正常

先到httpd的主目录,执行./bin/apachectl -t

 

7.没有异常,直接执行

./bin/apachectl start

./bin/apachectl stop