安装
参考:http://jordy.easymorse.com/?p=340
以下复制文字内容过来:
Ubuntu安装配置Awstats工具
1. 安装Awstats工具
$ sudo apt-get install awstats
在安装awstats工具后,默认在系统中创建了一个cron任务,可以通过
sudo vi /etc/cron.d/awstats
命令,查看内容:
image
通过上图可以看到,系统每10分钟,awstats以www-data用户身份执行一次/usr/lib/cgi-bin/awstats.pl文件,通过awstats的配置文件分析apache的access.log日志文件。
2. 配置Apache
首先,在/etc/apache/2目录下,新建一个awstats.conf配置文件
$ sudo vi /etc/apache2/awstats.conf
文件的内容:
Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstats-icon/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /awstats/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
其中,“/awstatsclasses”表示:库文件 “/awstats-icon/”表示:图标
“/awstatscss”表示:样式表 “/cgi-bin/”表示:awstats.pl可执行的文件
其次, 在/etc/apache2/apache2.conf配置文件中,加入
Include /etc/apache2/awstats.conf
当然也可以将awstats.conf文件放入/etc/apache2/conf.d/目录下。
最后,重新加载apache配置
$ sudo /etc/init.d/apache2 reload
重启完apache,可以通过浏览器访问http://youripaddress/awstats/awstats.pl
(以IP地址为192.168.0.17为例),访问到的结果如图:
image
由于我们通过浏览器访问http://youripaddress/awstats/awstats.pl地址,apache默认会访问/etc/awstats/awstats.192.168.0.17.conf文件
3. 配置Awstats
sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.192.168.0.17.conf
sudo vi /etc/awstats/awstats.192.168.0.17.conf
加入文件内容:
SiteDomain = “192.168.0.17”
接着运行命令:
$ sudo /usr/bin/perl /usr/lib/cgi-bin/awstats.pl -update -config=192.168.0.17
在用过浏览器访问http://youripaddress/awstats/awstats.pl地址,就可以看到apache日志的详细信息,如图:
image
awstats的界面与浏览器的默认设置的语言有关,awstats支持多国语言,如果发现浏览的界面是英文或者其他语言,请修改浏览器的设置即可。
前面提到默认awstats在安装时自动生成了一个cron任务,是每10分钟更新一次,频率似乎有点高,可以设置为每个小时,或者每天的某个时间点更新一次。
使用:
以上其实已经教我们如何使用了,不过有些地方需要注意:
一 /etc/awstats/awstats.域名.conf的配置:
需要注意里面的
(1)LogFormat,如果是自定义的日志格式,则要自己撕开如何配置,例如:
LogFormat="%host %other %other %other %time1 %methodurl %code %bytesd %other %refererquot %uaquot %other %other %other %other"
(2)SiteDomain="域名"
这是用于过滤log里面的host的,要配对。
二 清空缓存:awstats统计出一个结果后,会缓存在/var/lib/awstats/里面,如果你刷新页面之后还是看到一样结果,那么进去删除相关的缓存吧。
sudo rm -f /var/lib/awstats/*域名*
附件是一个统计文件中有多少字符串行的shell脚本:
grep -Ec "$1:00" /home/atell/${2}.access