Apach的配置和日志
Apache 连接保持
Apache链接保持相关参数
keepAlive
是否打开连接保持,OFF关闭,ON打开
KeepAlive Timeout
一次连接多次请求之间的而最大间隔时间,两次请求超过该时间连接断开
MaxKeep
Fiddler
配置访问控制
Require all granted :允许所有主机访问
Require all denied : 拒绝所有主机访问
Require local :仅允许本地主机访问
Require [not] host <主机名或域名列表> :允许或拒绝指定主机或域名访问
Require [not] ip <IP 地址或网段列表> :允许或拒绝指定IP 地址网络访问
vi /usr/local/httpd/conf/httpd.conf //对htdpcs目录设置控制,直接新增两行
<Directory “/usr/local/httpd/htdocs”>
Order deny,allow
Deny from 192.168.32.1/32
或
<Directory “/usr/local/httpd/htdocs”> //省略部分内容
Require all granted
Require not ip 192.168.21.1/32
Apache访问控制
作用
控制对网站资源的访问
为特定的网站目录添加访问授权
常用访问控制方式
客户机地址限制
用户授权限制
创建用户认证数据库
cd /usr/local/httpd/conf/
ls /usr/local/httpd/bin
htpasswd -c /usr/local/httpd/con/.awsp.
项目
允许授权用户登录
vi /etc/httpd.conf
ServerName www.chen.com:80
创建数据库文件
htpasswd -c /usr/local/httpd/conf/.awspwd tom
-C :新建使用,再次建用户则不需要
/usr/local/httpd/conf/ .awspwd:新建密码文件
tom: 需要认证的用户名
配置编辑文件
vi /etc/httpd.conf
systemctl start httpd
Order allow,deny 顺序先允许,后拒绝
Allow from all 允许所有
AuthName “www.aa.com” 认证域名
AuthType Basic 认证类型基本
AuthUserFile /usr/local/httpd/conf/.awspwd 认证文件路径
Require valid-user 允许授权用户登录
#Require all granted
vi /etc/hosts
在浏览器上
Apache日志管理
日志分割
随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大
日志文件占用磁盘空间很大
查看相关信息不方便
对日志文件进行分割
Apache自带rotatelogs分割工具实现
第三方工具cronolog分割
项目小试
日志分割
方法一 Apache自带rotatelogs分割工具实现
编辑配置文件
vi /etc/httpd.conf
systemctl start httpd
systemctl status httpd
访问日志设置
ErrorLog "|/usr/bin/rotatelogs -l logs/error_log_%Y-%m-%d 86400"
-l:表示使用本地时间
/error_log:日志名称
%Y-%m-%d:年-月-日
86400:表示日志分隔的间隔是1天,单位是秒
错误日志设置
CustomLog "|/usr/bin/rotatelogs -l logs/access_log_%Y-%m-%d 86400" common
在浏览器上http://192.168.100.111
查看日志文件
cd /usr/local/httpd/logs/
ls -lh
方法二 第三方工具cronolog分割
解压缩安装包
tar zxvf cronolog-1.6.2.tar.gz
配置文件
cd cronolog-1.6.2/
./configure
make && make install
查看软件路径
which cronolog
/usr/local/sbin/cronolog
vi /etc/httpd.conf
ErrorLog "|/usr/local/sbin/cronolog logs/error.log_%Y-%m-%d"
CustomLog "|/usr/local/sbin/cronolog logs/access.log_%Y-%m-%d" common
systemctl start httpd
httpd -t 查看语法
systemctl stop firewalld 关闭防火墙
setenforce 0 关闭核心防护
cd /usr/local/httpd/logs/ 查看日志文件
ls -lh
使用AWstats日志分析软件
vi /etc/httpd.conf
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common
systemctl start httpd
httpd -t
systemctl status httpd
在浏览器上
http://192.168.100.111
查看日志文件
cd /usr/local/httpd/logs/
ls -lh
项目流程:
cd
apachectl -D DUMP_MODULES | grep cgi
cd /usr/local/httpd/modules/
ls -lh
配置文件,开启cgi模块
vi /etc/httpd.conf
开启
LoadModule cgid_module modules/mod_cgid.so
LoadModule cgi_module modules/mod_cgi.so
解压缩文件
tar zxvf awstats-7.6.tar.gz
AWstats可以同时分析多个站点的数据
mv awstats-7.6 /usr/local/awstats
vi /etc/hosts
vi /etc/httpd.conf
ServerName www.aa.com:80
cd /usr/local/
ls -lh
chown -R root.root awstats/
cd awstats/
ls -lh
cd tools/ 进入工具目录
./awstats_configure.pl 找到配置脚本
编辑AWstats的配置文件
vi /etc/awstats/awstats.www.aa.com.conf
LogFile="/usr/local/httpd/logs/access_log"
DirData="/var/lib/awstats"
cd
mkdir /var/lib/awstats 创建目录
cd /var/lib/awstats
cd /usr/local/httpd/logs/
ls -lh
rm -rf access.log*
rm -rf error.log*
cd /usr/local/awstats/tools/
ls -lh
./awstats_updateall.pl now 重新更新日志,手动采集日志
vi /etc/httpd.conf
添加
Require all granted
systemctl stop httpd
systemctl start httpd
进入浏览器访问:http://localhost/awstats/awstats.pl?config=www.chen.com
通过以下配置页面自动跳转优化统计页面访问
即打开一个网页直接可以跳转到分析日志路径网页
cd /usr/local/httpd/htdocs/
vi 1.html
<html>
<head>
<meta http-equiv=refresh content="0;url=http://192.168.100.111/awstats/awstats.pl?config=www.chen.com">
</head>
<body></body>
</html>
AWStats日志分析系统介绍
Perl语言开发的一款开源日志分析系统
可用来分析Apache,Samba,Vsftpd,IIS等服务器的访问日志
结合crond等计划任务服务,可对日志内容定期进行分析