一、安装
A、下载 awstats:wget –c http://sourceforge.net/projects/awstats/
B、解压缩安装包:tar zxvf awstats-6.95.tar.gz。目前最新稳定版为6.95版。
C、awstats的脚本和静态文件缺省都在wwwroot目录下:将cgi-bin目录下的文件都部署到 cgi-bin/目录下:/usr/local/apache/cgi-bin/awstats/
cd awstats-6.95
mv www-root/cgi-bin /usr/local/apache/cgi-bin/awstats/
D、把图标等文件目录复制到WEB的HTML文件发布目录下,
例如:/home/web/ 下发布
更多的批量更新脚本等在tools 目录下,可以一并放到cgi-bin/awstats/ 目录下
E、升级国内主要搜索引擎和蜘蛛定义,包含了针对国内主要搜索引擎和蜘蛛定义的补丁(解包后覆盖lib/目录下的原程序目录即可),其中也包含了本站的样例配置文件。安装GeoIP的应用库:C
http://www.maxmind.com/download/geoip/api/c/ 解包,编译安装
perl -MCPAN -e 'install "Geo::IP"' 或者使用纯Perl包 perl -MCPAN -e 'install "Geo::IP::PurePerl"'
F、下载GeoIP/GeoIPCityLite包:解包并部署到awstats目录下:
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
二、配置
A、 将缺省awstats.model.conf 命名成common.conf
B、 修改其中的一些配置选项:
LoadPlugin="decodeutfkeys"
LoadPlugin="geoip GEOIP_STANDARD /usr/local/apache/cgi-bin/awstats/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/apache/cgi-bin/awstats/GeoLiteCity.dat"
C、 创建awstats下创建:data 目录用于统计数据输出,缺省的统计输出是按月汇总的;对于日志非常大的最好选择按天统计输出,并修改awstats.pl: 设置LIMITFLUSH加10倍;
$LIMITFLUSH =
50000; # Nb of records in data arrays after how we need to flush data on disk
可以有效提高统计的速度(减少磁盘IO),并避免按月汇总数据导致的统计文件过大;
D、 建立需要的配置文件,如为www.875.cn建立相应配置文件,名为awstats.875.conf
Include "common.conf"
LogFormat=1
LogFile="/home/apache/logs/875.cn-access_log.%YYYY-24%MM-24%DD-24"
SiteDomain="www.875.cn"
HostAliases="875.cn"
DefaultFile="index.html"
DirData="/usr/local/apache/cgi-bin/awstats/data/"
上面提到的common.conf和awstats.875.conf均存放在
/usr/local/apache/cgi-bin/awstats/目录下。
最少的配置文件修改:LogFile SiteDomain LogFormat
对于在GNU/Linux上统计Apache日志只需修改:LogFile SiteDomain这2个选项
1. GNU/Linux LogFile="/path/to/apache/logs/access_log.%YYYY-24%MM-24%DD-24"
这个配置的意思是用24小时前的年份,月份,日期拼出的日志文件名;
2. SiteDomain="www.875.cn"
站点的名称,缺省是空的,如果为空,AWStats将拒绝运行;
3. 对于统计IIS日志需要多修改一个:
LogFormat=2
缺省值是1:Apache日志,2是IIS日志
AWStats 6.3版本开始:中文用户基本上已经只需要将配置文件中将 LoadPlugin="decodeutfkeys" 启用基本上就没有什么中文搜索引擎的统计问题了,目前增加了多个国内主要搜索引擎厂商
三、运行
AWStats的运行模式是这样的:
- 分析日志:运行后将这样的日志统计结果归档到一个AWStats的数据库(纯文本)里;
- 然后是输出:通过cgi程序读取统计结果数据库输出;
具体步骤:
A、设置Apache日志格式:设置成combined格式即可。若是缺少日志轮训机制,则另需要安装cronolog工具,将日志设置成按天截断:
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs//
875.cn-access_log.%Y%m%d" combined
为了减少日志分析的量,有必要取消图片、样式、JS等文件的访问记录。 可做如下设置:
<FilesMatch "/.(png|gif|jpg|js|swf|css)">
SetEnv IMAGES 1
</FilesMatch>
日志记录配置如下:
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs//
875.cn-access_log.%Y%m%d" combined env=!IMAGES
B、日志分析
#cd /usr/local/apache/cgi-bin/awstats
./awstats.pl -update -config=875 -lang=cn
比如:./awstats.pl -update -config=875
会自动调用awstats.875.conf这个配置文件
统计输出
GNU/Linux http://localhost/cgi-bin/awstats/awstats.pl?config=875
如果不能运行,则需要确认您的apache是否支持cgi. 首页确认LoadModule cgi_module modules/mod_cgi.so 模块是否打开,然后确认ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/" 后面对应的是否就是你的cgi-bin路径,
<Directory "/usr/local/apache/cgi-bin">
AllowOverride All #允许 .htaccess覆盖
Options None
Order allow,deny
Allow from all
</Directory>
AddHandler cgi-script .cgi
确认是否有以上代码。AddHandler cgi-script .cgi这个表示开通CGI,默认是不开通。 并且把相应 .pl脚本的权限改为 chmod 755 filename
重启apache. ./awstats.pl -update -config=875 -lang=cn应该可以顺利运行了。
日志统计自动运行
GNU/Linux上:crontab -e: 每天8点10分运行
#update awstats
10 8 * * * (cd /usr/local/apache/cgi-bin/awstats/; ./awstats.pl -update -config=875)
C、访问用户控制。
现在要求只有指定的用户 可以查看统计信息。
即访问 http://localhost/cgi-bin/awstats/awstats.pl?config=875
可以使用apche自身的身份验证系统。
建立 .htaccess文件:输入以下内容
AuthType Basic #验证方式
AuthName "Awstats View"
AuthUserFile /var/awstats_authfile #验证文件:存储用户名和密码
Require valid-user
使用 .htpasswd –c /var/awstats_authfile username 按enter
输入你要设置的密码 即可.
现在通过网络访问
http://localhost/cgi-bin/awstats/awstats.pl?config=875
将提示你输入用户名和密码,输入刚才设置的用户名和密码即可。