在Debian4下配置awstats分析apache的日志

AWStats是在一个很流行的基于Perl的WEB日志分析工具。本文讲述在Debian4下怎么安装配置awstats。

下载和安装

Debian4自带有awstats,安装只需执行:
apt-get install awstats
然后输入以下命令重新启动apache
/etc/init.d/apache2 force-reload
然后通过浏览器访问:http://rashost.com/cgi-bin/awstats.pl 发现有出错信息,说明awstats已经安装了,perl cgi也工作了,只是awstats还没有配置,所以报错了。

初始配置

在/etc/awstats/awstats.conf文件中修改:
LogFile="/var/log/apache2/access.log"
LogType=W
LogFormat=1
SiteDomain="rashost.com"
HostAliases="rashost.com localhost 127.0.0.1"
然后再次访问,awstats的界面出来了,但是没有数据。 awstats靠cron定期分析apache日志,在文件/etc/cron.d/awstats中我们能找出数据处理的脚本,但在debian下,这个脚本是有点问题的,我们需要手工修改脚本中的日志文件的文件名为:/var/log/apache2/access.log 现在手工运行一下awstats的数据分析脚本:
chmod og+r /var/log/apache2/access.log*
/usr/lib/cgi-bin/awstats.pl -config=awstats -update
然后再次浏览器访问,数据就出来了。还有没有出来的是图标,我们需要在apache的配置文件 /etc/apache2/sites-available/default 中加入:
    Alias /awstats-icon/ "/usr/share/awstats/icon/"
    
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    
重启apache,完整的内容就出来了。 剩下的唯一问题就是控制不让别人随便访问awstats,还是在 /etc/apache2/sites-available/default 文件中修改:
 
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
                AuthType Basic
                AuthName "RasHost CGI"
                AuthBasicProvider file
                AuthUserFile /etc/apache2/password
                Require user admin
 
然后在/etc/apache2目录下执行:
htpasswd -c password admin
给admin用户一个密码即可 最后的完善 为了让awstats能够显示出IP来自什么地方,我们还需要安装一些东西:
apt-get install libgeoip-dev liburi-perl
wget http://www.maxmind.com/download/geoip/api/c/GeoIP-1.4.4.tar.gz
tar zxf GeoIP-1.4.4.tar.gz
./configure --prefix=/usr
make
make install
perl -MCPAN -e 'install "Geo::IP"'
perl -MCPAN -e 'install "Geo::IP::PurePerl"'
安装以上perl需要gcc等编译工具
cd /usr/share/awstats
wget http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz
wget http://www.maxmind.com/download/geoip/database/GeoLiteCity_CSV/GeoLiteCity_20080501.zip
gunzip GeoIP.dat.gz
unzip GeoLiteCity_20080501.zip
mv GeoLiteCity_20080501 GeoLiteCity

vim /etc/swstats/swstats.conf
LoadPlugin="decodeutfkeys"
LoadPlugin="geoip GEOIP_STANDARD /usr/share/awstats/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/share/awstats/GeoIPCity.dat"
重启apache就可以了