一所用软件及工具
Apache服务器 官方网址
awstats 日志分析软件 官方网址
cronolog 日志截取软件 官方网址
二环境构架
RedHat AS
Apache
/configure –prefix=/usr/local/apache/ ——enableso
make
make install
awstats
直接tar到 /usr/local/awstats
cronolog
/configure –prefix=/usr/local/cronolog
make
make install
三 配置
apache
a让apache中的某个虚拟主机产生日志
全局环境变量设置
代码LogFormat %h %l %u %t \%r\ %>s %b \%{Referer}i\ \%{UserAgent}i\ combined
SetEnvIf Request_URI \gif$ gifimage
SetEnvIf Request_URI \GIF$ gifimage
SetEnvIf Request_URI \jpg$ gifimage
SetEnvIf Request_URI \JPG$ gifimage
SetEnvIf Request_URI \png$ gifimage
SetEnvIf Request_URI \swf$ gifimage
SetEnvIf Request_URI \SWF$ gifimage
SetEnvIf Request_URI \css$ gifimage
SetEnvIf Request_URI \CSS$ gifimage
SetEnvIf Request_URI \js$ gifimage
SetEnvIf Request_URI \JS$ gifimage
SetEnvIf Request_URI \ico$ gifimage
产生日志但不包括 图片
虚拟主机日志设置
代码<VirtualHost >
ServerAdmin
DocumentRoot /db/htdocs/www
ServerName
CustomLog |/usr/local/cronolog/sbin/cronolog /db/logs/www%Y%m%dlog combined env=!gifimage
#用cronolog截取存放在/db/logs/下的按日期产生的apache日志文件
</VirtualHost>
注日志文件是针对每一个虚拟主机产生的所以可以配置一台服务器上多个虚拟主机的日志分析
b别名设置
代码
#
# Directives to allow use of AWStats as a CGI
#
Alias /awstatsclasses /usr/local/awstats/wwwroot/classes/
Alias /awstatscss /usr/local/awstats/wwwroot/css/
Alias /awstatsicons /usr/local/awstats/wwwroot/icon/
ScriptAlias /awstats/ /usr/local/awstats/wwwroot/cgibin/
#
# This is to permit URL access to scripts/files in AWStats directory
#
<Directory /usr/local/awstats/wwwroot>
Options None
AllowOverride None
Order allowdeny
Allow from all
</Directory>
该配置在运行awstats/tools/awstats_configurepl 后会自动产生所以不用手动添加
cawstats需要cgi的支持如果没有添加cgi可以现在添加
代码
/apxs c i /usr/local/src/_cgic
再在 中添加
代码
LoadModule cgi_module modules/mod_cgiso
d为了保护日志统计信息需要对某些目录进行认证设置需要认证模块的支持
代码
/apxs c i /usr/local/src/……/mod_authc
再在 中添加
代码
LoadModule auth_module modules/mod_authso
配置需要认证的目录
代码
<Directory /db/htdocs/www/awstat/>
AuthType Basic
AuthName Restricted Files
AuthUserFile /usr/local/apache/passwd/passwords
Require user loguser
</Directory>
其中在 /usr/local/apache/passwd/下产生passwords 的密码文件
运行如下代码产生用户名为loguser用户及其密码
代码
/usr/local/apache/bin/htpasswd c /usr/local/apache/passwd/passwords loguser
注意先要在 /usr/local/apache/下建passwd目录
Awstats
运行 /usr/local/awstats/tools/awstats_configurepl
主要设置的是需要输入做统计的主机名的配置文件名如
接着修改 刚才配置是产生的awstats配置文件 默认位置在
/etc/awstats/con 主要做指定log位置
代码
LogFile=/db/logs/www%YYYY%MM%DDlog
创建目录mkdir /var/lib/awstats/
执行
代码
/usr/local/awstats/wwwroot/cgibin/awstatspl update config=
更新update 后可以在浏览器中输入 进行访问了
cronolog (基本不用什么修改)
crontab的修改
在 crontab中添加如下 命令保证分钟更新一次也可以根据你自己的需要修改更新的间隔
代码
*/ * * * * /usr/local/awstats/wwwroot/cgibin/awstatspl update config=
四安全性考虑
以上的设置由于要cgi支持也增加了安全隐患可以用awstats 自带的awstats_buildstaticpagespl来 生成静态页面 可以添加到crontab中
代码
*/ * * * * /usr/local/awstats/tools/awstats_buildstaticpagespl update config= lang=cn dir=/db/htdocs/www/awstat/ awstatsprog=/usr/local/awstats/wwwroot/cgibin/awstatspl
这样没分钟在/db/htdocs/www/awstat/ 下生成各种静态页面
保护/db/htdocs/www/awstat/禁止未授权用户访问
在中添加
代码
<Directory /db/htdocs/www/awstat/>
AuthType Basic
AuthName Restricted Files
AuthUserFile /usr/local/apache/passwd/passwords
Require user loguser
</Directory>
如果 虚拟主机 主目录为/db/htdocs/www/ 则在浏览器中输入 就可以通过认真访问静态页面
如果用静态页面就不要忘了注释掉
LoadModule cgi_module modules/mod_cgiso