redhat中用awstats 分析Apache 服务器 Log应用实例
时间:2006-07-04 来源:vepeta
前些天,领导要求对公司网站进行访问量的各项统计分析,请教新网互联的朋友,在他的推荐下,决定使用awstats,现将我的安装文档公布如下:
其中参考了好多人的资料,随后会附上。对于这些前辈,非常感谢,但也有些文档感觉并不是很清晰,可能是新旧版本问题吧!
说明:因我们公司的网站已经运行多年,Apache早就已经安装(不是我安装的),下面的apache是我参考网上的相关资料。
一,所用软件及工具
- Apache服务器 官方网址:http://www.apache.org
- awstats 日志分析软件 官方网址:http://awstats.sourceforge.net
- cronolog 日志截取软件 官方网址:http://www.cronolog.org
二,环境构架
- 系统RedHat AS 3
- Apache ./configure –prefix=/usr/local/apache/ --enable-so
make
make install
3.awstats 直接tar到 /usr/local/awstats
4.cronolog ./configure –prefix=/usr/local/cronolog
make
make install
三, 配置
1, apache a,让apache中的某个虚拟主机产生日志:
全局环境变量设置:(就是/usr/local/apache/config/httpd.conf里)
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined SetEnvIf Request_URI \.gif$ gif-image SetEnvIf Request_URI \.GIF$ gif-image SetEnvIf Request_URI \.jpg$ gif-image SetEnvIf Request_URI \.JPG$ gif-image SetEnvIf Request_URI \.png$ gif-image SetEnvIf Request_URI \.swf$ gif-image SetEnvIf Request_URI \.SWF$ gif-image SetEnvIf Request_URI \.css$ gif-image SetEnvIf Request_URI \.CSS$ gif-image SetEnvIf Request_URI \.js$ gif-image SetEnvIf Request_URI \.JS$ gif-image SetEnvIf Request_URI \.ico$ gif-image |
产生日志但不包括图片。 虚拟主机日志设置
<VirtualHost X.X.X.X> DocumentRoot /usr/local/tomcat/webappss/www ServerName www.abc.com.cn CustomLog "|/usr/local/cronolog/sbin/cronolog /var/logs/www.%Y-%m-%d.log" combined env=!gif-image #用cronolog截取存放在/db/logs/下的按日期产生的apache日志文件 </VirtualHost> |
注:日志文件是针对每一个虚拟主机产生的所以可以配置一台服务器上多个虚拟主机的日志分析。这样就能对多个网站进行日志分析了。
b,别名设置 该配置在运行awstats/tools/awstats_configure.pl 后会自动产生所以不用手动添加。
# # 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/cgi-bin/" # # This is to permit URL access to scripts/files in AWStats directory. # <Directory "/usr/local/awstats/wwwroot"> Options None AllowOverride None Order allow,deny Allow from all </Directory> |
c,awstats需要cgi的支持如果没有添加cgi可以现在添加
./apxs -c -i /usr/local/src/httpd-2.0.50/modules/generators/mod_cgi.c |
d,为了保护日志统计信息需要对某些目录进行认证设置,需要认证模块的支持
./apxs -c -i /usr/local/src/httpd-2.0.50/..../mod_auth.c |
再在httpd.conf中添加 LoadModule auth_module modules/mod_auth.so
注:以上因为我的Apache不是现在配置的,以前已经加载了这些配置,这里只是参考其他人的一些说明。
e,配置需要认证的目录:
<Directory "/usr/local/awstats/wwwroot "> AuthType Basic AuthName "Restricted Files" AuthUserFile /usr/local/apache/passwd/passwords Require user logaccessuser </Directory> |
/usr/local/apache/bin/htpasswd -c /usr/local/apache/passwd/passwords logaccessuser |
注意:先要在 /usr/local/apache/下建passwd目录。
2,Awstats 运行 /usr/local/awstats/tools/awstats_configure.pl 主要设置的是需要输入做统计的主机名的配置文件名如:www.abc.com.cn 接着修改刚才配置是产生的awstats配置文件默认位置在:/etc/awstats/awstats.www.abc.com.cn.con 主要做指定log位置
LogFile="/var/logs/www.%YYYY-4-%MM-2-%DD-2.log" |
创建目录:mkdir /var/lib/awstats/ 执行:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.com.cn |
更新,update 后可以在浏览器中输入 http://www.abc.com.cn/awstats/awstats.pl 进行访问了。
3,cronolog (基本不用什么修改)
4,crontab的修改 在 crontab中添加如下 命令保证15分钟更新一次,也可以根据你自己的需要修改更新的间隔 。
*/15 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.com.cn |
参考文档:
http://panbird.blogbus.com/s1013574 http://www.chedong.com/tech/awstats.html http://www.antezeta.com/awstats.html