Awstats快速安装

0. 前言

AWStats是一个免费的日志分析工具,用perl开发的。可以用于分析各种linux下的应用程序产生的日志,包括 apache/squid/samba/resin/tomcat 等等。在这里,我用它来分析apache日志。

1. 安装

AWStats 是采用perl开发的,linux系统中一般都有perl语言环境,因此无需做特别处理。如果还像通过web server查看分析结果,就需要让web server支持cgi才行了。在这里,我使用apache作为web server,因此我在编译apache时,加上了选项:--enable-cgi

下载 AWStats 压缩包,解开后,放到/usr/local/awstats下。主要有以下几个文件:

docs
README.TXT
result
tools
wwwroot

接下来,编辑配置文件,AWStats 支持针对多个子域名生成分析日志,这里以 imysql.cn 域名为例。配置文件名为:/etc/awstats/awstats.imysql.cn.conf,主要修改以下几行:

LogFile="/data/log/imysql.cn-access_log"
LogFormat=4
SiteDomain="imysql.cn"
DirData="/usr/local/awstats/result"

LogFile 指明apache的access log所在,这里也可以使用变量,例如:LogFile="/data/log/imysql.cn-access_log.%YY-24%MM-24%DD",具体的请查看 相关文档
LogFormat 表示日志格式,我在apache的日志格式中,采用 combined,因此这里写成 4。如果apache里设置的是 common,则在这里写 2,具体的对应关系可以看 Awstats文档
SiteDomain 要分析的域名
DirData 分析结果存放位置

2. 运行、使用

2.1 分析日志

[yejr@imysql log]# /usr/local/awstats/tools/awstats_updateall.pl now

上面这种方式是一下子分析所有的域名,也可以像下面这样只分析某个域名:

[yejr@imysql log]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=imysql.cn

2.2 查看分析结果

首先,要先配置apache,如下:

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/"

Options None
AllowOverride All
Order allow,deny
Allow from all

在这里,我允许 /usr/local/awstats/wwwroot 目录定义自己的访问规则,因此我可以编辑自己的 .htaccess 来限制可以访问该目录的用户,设定是否需要密码等规则。

[yejr@imysql log]# cat /usr/local/awstats/wwwroot/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache/conf/passwords
Require user yejr
[yejr@imysql log]#  cat /usr/local/apache/conf/passwords
yejr:kAfG4CMXiIB3w

然后,我就可以通过这个url(http://xxxxx/awstats/awstats.pl?config=imysql.cn)来访问我的分析结果了,呵呵。

技术相关: