安装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