Apache配置与应用
本章结构
■Apache配置剖析
●Apache连接保持
●Apache访问控制
Apache日志管理
●日志分割
●AWStats日志分析
一:Apache连接保持
■Apache连接保持相关参数
●KeepAlive
◆是否打开连接保持,OFF关闭,ON打开
●KeepAlive’ Timeout
◆一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开
●MaxKeepAliveRequests
◆一次长连接能够传输的最大请求数量
实验
1、实验环境网络网段仅主机环境
2、修改配置–主配置文件httpd.conf —Include conf/extra/httpd-default.conf开启去掉#
3、修改进httpd/conf/extra/httpd-default.conf—修改
KeepAlive On
MaxKeepAliveRequests
KeepAliveTimeout
4、重启http服务
5、抓包测试
二:Apache访问控制
●作用
◆控制对网站资源的访问
为特定的网站目录添加访问授权
●常用访问控制方式
客户机地址限制
◆用户授权限制
1-基于客户端地址的访问控制
■使用Require配置项实现访问控制,按先后顺序限制
■可用于 < Location >,< Directory >, < Files >、 < Limit >配置段中
■Require配置项的常见语法
Require all granted
Require all denied
Require local
Require [not] host <主机名或域名列表>
Require [not] ip <IP地址或网段列表>
使用not禁止访问时要将其置于< RequireAll > < /RequireAll >容器中并在容器中指定相应的限制策略
2-用户授权限制
1.创建用户认证数据库
2.添加用户授权配置
3.验证用户访问授权
三: 日志分割
■随着网站的访问量增加,默认情况下Apache的单个日
志文件也会越来越大
●日志文件占用磁盘空间很大
●查看相关信息不方便
■对日志文件进行分割
●Apache自带rotatelogs分割工具实现
●第三方工具cronolog分割
rotatelogs分割工具
rotatelogs分割工具-1
■配置网站的日志文件转交给rotatelogs分割处理
■配置格式
rotatelogs分割工具-2
配置网站的日志文件转交给rotatelogs分割处理
第三方工具cronolog
第三方工具cronolog-1
■源码编译安装cronolog工具
■配置网站日志文件转交给cronolog分割处理
■配置格式
第三方工具cronolog-2
■配置网站的日志文件转交给cronolog工具分割处理
小结:
日志分割工具分2种:
1、 自带的rotatelogs
2、第三方的cronolog
作用对象: ErrorLog、 CustomLog
自带工具修改地方:
ErrorLog “|/usr/local/bin/rotatelogs -I /var/log/httpd/error_ _%Y%m%d.log 86400”
CustomLog “|/usr/local/bin/rotatelogs -| /var/log/httpd/access _%Y%m%d.log 86400” common
第三方工具修改地方:
ErrorLog “/usr/local/sbin/cronolog /var/log/httpd/www.51xit.top-error. %Y%m%d.log"
CustomLog "/usr/local/sbin/cronolog /var/log/httpd/www.51xit.top-access _%Y%m%d.log” common
配置文件修改完毕,要重启httpd|
四:AWStats日志分析系统介绍
■Perl语言开发的一款开源日志分析系统
■可用来分析Apache、Samba、 Vsftpd、 IIS等服务器的
访问日志
结合crond等计划任务服务,可对日志内容定期进行分析
部署AWStats日志分析系统4-1
1 :安装AWStats软件包
[root@www ~]# tar zxf awstats-7.7 .tar.gz
[root@www ~]# mv awstats-7.7 /usr/local/awstats
部署AWStats日志分析系统4-2
■为要统计的站点建立配置文件
[root@www ~]# cd /usr/local/awstats/tools/
[root@www tools]# chmod +X awstats_ configure.pl
[root@www tools]# ./awstats_ configure.pl
Config file path ('none' to skip web server setup):
>/etc/httpd/conf/httpd.conf
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y
Your web site, virtual server or profile name:
> www.kgc.com
[root@www ~]# vim /etc/httpd/conf/httpd.conf
<lfModule !mpm_ prefork_ module>
LoadModule cgid_ module modules/mod_ cgid.so
</lfModule>
<lfModule mpm_ prefork_ module>
LoadModule cgi_ module modules/mod_ _cgi.so
</lfModule>
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Require all granted
</Directory>
部署AWStats日志分析系统4-3
■修改站点统计配置文件
[root@www tools]# vim /etc/awstats/awstats.www.kcce.com.conf
LogFile="/var/log/httpd/access_ log"
DirData="/var/lib/awstats"
.... //省略部分内容
D
[root@www tools]# mkdir Ivar/lib/awstats
部署AWStats日志分析系统4-4
■执行日志分析,并设置cron计划任务
[root@www tools]# chmod +X awstats _updateall.pl
[root@www tools]#./awstats_ updateall.pl now
[root@www ~]# crontab -e
*/5 *** * /usr/local/awstats/tools/awstats_ updateall.pl now
访问AWStats分析系统
■查看统计页面
■设置网页自动跳转,方便访问
[root@www ~]# vim /var/www/html/awb.html
<htm|>
<head>
<meta http-equiv=refresh content="O;
url=http://www.kgc.com/awstats/awstats.pl?config=www.kgc.com">
</head>
<body></body>
</htm|>