Linux下安装Apr及其Apr-util的基本步骤
1.安装apr
# gzip -d apr-1.4.
# tar xvf apr-1.4.8.tar
# cd apr-1.4.8
# ./configure --prefix=/opt/apr
(注意:如果执行时出现此错误
configure: error: no acceptable C compiler found in $PATH
执行:yum -y install gcc
前提条件:该机器可访问互联网。
然后再执行:./configure --prefix=/opt/apr
# make
# make install下载apache
2.安装apr-util
# gzip -d apr-util-1.5.
# tar xvf apr-util-1.5.2.tar
# cd apr-util-1.5.2
# ./configure --prefix=/opt/apr-util --with-apr=/opt/apr
# make
# make install
3.安装pcre
# unzip -o pcre-8.33.zip
# cd pcre-8.33
# ./configure --prefix=/opt/pcre
(注意:如果执行时出现此错误
configure: error: You need a C++ compiler for C++ support
执行:yum install -y gcc gcc-c++
前提条件:该机器可访问互联网。
然后再执行:./configure --prefix=/opt/pcre
# make
# make install
4.安装apache
# gzip -d httpd-2.4.
# tar xvf httpd-2.4.6.tar
# cd httpd-2.4.6
# ./configure --prefix=/opt/apache --enable-modules=all --enable-mods-shared=all --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --enable-rewrite --enable-status --with-apr=/opt/apr --with-apr-util=/opt/apr-util/ --with-pcre=/opt/pcre
# make
# make install
5.配置apache开机自启动
在/etc/rc.local(或者/etc/rc.d/rc.local)中加入如下一下
/opt/apache/bin/apachectl -k start
查看是否正常启动:ps -ef | grep httpd
[root@LINUX128 ~]# ps -ef|grep httpd
root      2645    1  0 20:43 ?        00:00:00 /opt/apache/bin/httpd -k start
daemon    2646  2645  0 20:43 ?        00:00:00 /opt/apache/bin/httpd -k start
daemon    2647  2645  0 20:43 ?        00:00:00 /opt/apache/bin/httpd -k start
daemon    2648  2645  0 20:43 ?        00:00:00 /opt/apache/bin/httpd -k start
root      2749  2472  5 20:46 pts/0    00:00:00 grep httpd
6.常见问题解决:
启动时提示异常:AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.2.128. Set the 'ServerName' directive globally to suppress t
his message
解决方法:更新/etc/hosts文件,把里面的ip改成机器真实IP;
启动时提示异常:httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
解决方法:编辑f文件,搜索"#ServerName",添加ServerName localhost:80
日志文件里面有:AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
解决方法:编辑f文件,把#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so前的#号去掉
日志文件里面有:[alert] (EAI 3)Temporary failure in name resolution: mod_unique_id: unable to find IPv4 address of "gentoo"
        Configuration Failed
解决方法:在 /etc/hosts 中加入 gentoo 别名对应的本机ip就ok了,例如:
        127.0.0.1      gentoo localhost localhost.localdomain localhost4 localhost4.localdomain4
        ::1            gentoo localhost localhost.localdomain localhost6 localhost6.localdomain6
日志文件里面有:[error] (111)Connection refused: proxy: HTTP: attempt to connect to 127.0.0.1:8080 (localhost) failed
        [error] ap_proxy_connect_backend disabling worker for (localhost)
解决方法:运行:/usr/sbin/setsebool httpd_can_network_connect true
7.如果操作系统已经自带了httpd(查命令:find / -name httpd),那上述过程就可以免了。
8.反向代理Tomcat应用
编辑f文件(查命令:find / -f),添加
ProxyPass / 192.168.137.220:8060/
ProxyPassReverse / 192.168.137.220:8060/
*注意:发布的应用的访问路径一定要是根目录,否则就要像这样:
ProxyPass /app1 192.168.137.220:8060/app1
ProxyPassReverse /app1 192.168.137.220:8060/app1
9.查看httpd的devel包是否已安装:rpm -qa | grep httpd-devel,或者find / -name apxs,如果没有对应的记录,表示此包未被安装,直接执行:
  yum -y install httpd-devel
(不得不说,yum真是安装神器)
10.为了防止恶意用户对Apache进行攻击,我们需要安装mod_security这个安全模块,见文章:hack58/Article/60/61/2012/32772.htm
怕文章失效,直接copy文本帖在这里:
mod_security 1.9.x模块的下载与安装
下载地址:/download/index.html
建议使用1.9.x,因为2.x的配置指令与1.x完全不同,解压后进入解压目录,执行:
/home/apache/bin/apxs -cia mod_security.c
编译完成后,/home/apache/modules下会生成一个mod_security.so文件
然后kate /home/apache/f
加入以下选项(如果没有的话)
#启用mod_security这个安全模块
LoadModule security_module modules/mod_security.so (这一句通常会被自动加入)
# 打开过滤引擎开关。如果是Off,那么下面这些都不起作用了。
SecFilterEngine On
# 把设置传递给字目录
SecFilterInheritance Off
# 检查url编码
SecFilterCheckURLEncoding On
# 检测内容长度以避免堆溢出攻击
#SecFilterForceByteRange 32 126
# 日志的文件和位置。一定要先建立好目录,否则apache重新启动的时候会报错。
SecAuditLog logs/audit_log
# debug的设置
#SecFilterDebugLog logs/modsec_debug_log
#SecFilterDebugLevel 1
#当匹配chmod,wget等命令的时候,重新定向到一个特殊的页面,让攻击者知难而退
SecFilter chmod redirect:www.sina
SecFilter wget redirect:www.sina
#检测POST数据,注意,请甚用这个开关,可能会导致一些post页面无法访问。详细的信息,请察看的文档,其中有详细的post编码要求。
#SecFilterScanPOST Off
# 缺省的动作
SecFilterDefaultAction “deny,log,status:406″
# 重新定向用户
#SecFilter xxx redirect:www.sina
# 防止操作系统关键词攻击
SecFilter /etc/*passwd

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。