在Ubuntu伺服器上设定AWStats

三年多前ㄚ琪写了监控网站纪录档,后来发现Peter’s blog消失了,而且内容写的可能有点不清楚,所以ㄚ琪再一次找来Ubuntu Tutorials的Configuring AWStats on Ubuntu Server来帮助大家了解一下设定的步骤,当然我不会建议你使用statcounter的免费服务,我只会建议AWStats,因为到现在我还是觉得这最好用。

安装

当然仍如之前的安装方式。

自动设定

从教学里面你可以发现有一个awstats_configure.pl档可以为你设定,我个人是忘了是否有使用这样的设定,但既然有这样的服务,为何不用:

sudo perl /usr/share/doc/awstats/examples/awstats_configure.pl

接下来ㄚ琪会讨论手动的设定,但是如果你有建议的话,我可能会更有兴趣加一些内容的!

手动设定

我是手动设定我的系统的,我会概述在下面,这里唯一的需要就是你可以存取apache2 logs,或是你有每一个虚拟网域(假如有使用的话)的访客日志位置,更多关于虚拟网域的访客日志可以参考Christer Edwards的Configuring Virtual Hosting on Ubuntu with Apache2这一篇英文文章,当然如果你想了解这一篇的中文的话,也可以给我一个回响,我会尽快帮你处理。

第一步就是新增你网域的awstats.conf档,这可以用/etc/awstats.conf来复制或改名,并且给一个有意义的名称:

sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.domain.tld.conf

我新增了一个档案,使用这样的语法awstats + domain.tld + conf来设定我伺服器上的每一个网域,每一个网域也都有他们自己的一个log档案。

接下来我们要针对那个网域编辑新的/etc/awstats 自订值,要点就是你要看一下档案的内容:

  • LogFile=”/path/to/your/domain/access.log”
  • LogFormat=1 (this will give you more detailed stats)
  • SiteDomain=”domain.tld”
  • HostAliases=”www.domain.tld localhost 127.0.0.1〃

一旦你做了这些更改,你就会想要建立最初的统计值,这个统计值是从你的机器上目前的log中产生的,我可以这样使用:

sudo /usr/lib/cgi-bin/awstats.pl -config=domain.tld -update

这样子可以针对awstats + domain.tld + conf这样的档案来扫描/etc/awstats 资料夹,读取config来产生输出,你应该在这里可以看到一些输出,而且它所花费的时间端赖于你的log档大小,可以从几分钟到几个小时,每一次的执行后会变得比较小,它只会更新资讯,但是第一次设定好时会花比较多的时间。

设定Apache来显示AWStats

在这里我们的统计应该已经产生(假如没有再回头检查一次是否有遗漏的!),但是我们需要一个方法来看这些统计,我们会需要设定Apache2来显示这些统计,我用的方法是在我的 apache2.conf使用Include,而不是搞乱预设的config档,这通常是我比较喜爱的方法。

Apache2.conf 在靠近底下的地方有一行Include /etc/apache2/conf.d/,它会在那里读取额外的资料,我所要做的就是在/etc/apache2/conf.d/ 目录下新增一个档案叫做 awstats,并且填入下面的内容:

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

基本上这样可以新增一些存取的别名,以及定义cgi-bin的路径,一旦储存了你就应该能够重新启动Apache2 ,接着我们就能存取我们的统计,重启动Apache2使用:

sudo /etc/init.d/apache2 restart

现在你应该能存取你的统计使用:

http://domain.tld/awstats/awstats.pl

假定你的统计产生时没有错误,Apache2 在你重启动服务时没有显示错误,你应该可以看见统计报告。

持续更新你的统计

最后一件事就是你可能想样透过cron来更新你的统计,这允许你定期更新你的网站统计,不需要你另外来干预,我所做的就是新增一行到我的/etc/crontab 档案告诉AWStats每十分钟更新一次,用这样的更新间隔来更新几十个网站,系统负载还是很小,要每十分钟更新一次可以这样的增加下面一行:

*/10 * * * * root /usr/lib/cgi-bin/awstats.pl -config=domain.tld -update >/dev/null

重复这一行,更新domain.tld值为你想要持续更新的任何站台。

防护统计

假如你的统计只想提供个人使用,你可以参考Christer Edwards的这一篇英文文章Limiting Access To Websites & Directories with .htaccess,有中文的需要回响给我知道。