日志格式要使用combined:
CustomLog " /var/log/httpd/access_log" combined
我是用的logrotate每天断日志,然后将以前的日志打包成gz存放,于是昨天的日志就是access_log.1.gz
添加主机(可以添加多个):
cd /usr/local/awstats/tools Config file path ('none' to skip web server setup): Do you want me to build a new AWStats config/profile Your web site, virtual server or profile name: Directory path to store config file(s) (Enter for default): |
修改主机配置(/usr/local/etc/awstats/awstats.www.funbsd.net.conf),与httpd.conf保持一致:
#LogFile="gzip -d < log.gz |" #LogFile="awstats/tools/logresolvemerge.pl *.log |" LogFile="gzip -d < /var/log/httpd/access_log.1.gz |" LogType=W LogFormat=1 SiteDomain="www.funbsd.net" HostAliases="funbsd.net www.funbsd.net 192.168.0.100" DNSLookup=2 DirData="/var/lib/awstats"[这里我用的awstats目录里的data] AllowToUpdateStatsFromBrowser=0 CreateDirDataIfNotExists=0 SaveDatabaseFilesWithPermissionsForEveryone=0 PurgeLogFile=0 ArchiveLogRecords=0 KeepBackupOfHistoricFiles=1 DefaultFile="index.htm index.html index.php" SkipHosts="localhost REGEX[^192\.168\.]" SkipFiles="REGEX[^\/images] REGEX[^\/css] REGEX[^\/scripts] REGEX[^\/awstats] REGEX[^*\.gif]" Lang="auto" #LoadPlugin="decodeutfkeys" #LoadPlugin="hashfiles" #LoadPlugin="geoip GEOIP_STANDARD" #LoadPlugin="userinfo" #LoadPlugin="hostinfo" #Include "" |
安装过程会自动在httpd.conf文件中添加下面的配置信息:
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/" <Directory "/usr/local/awstats/wwwroot"> Options None AllowOverride None Order allow,deny Allow from all </Directory> |
将缺省awstats.model.conf 命名成common.conf
修改其中的
LoadPlugin="decodeutfkeys"
重启Apache:
/usr/sbin/apachectl restart |
统计旧的主机日志:
mkdir -p /var/lib/
awstats [我配的就是/usr/local]
/usr/local/ awstats/wwwroot/cgi-bin/ awstats.pl -config=www.funbsd.net \ -update -Logfile=/var/log/httpd/www.funbsd.net.log[这里我的情况不同]
我直接:
/usr/local/awstats/tools/awstats_updateall.pl now -update -config=tdrd.org
|
定时统计所有主机日志:
0 * * * * /usr/local/
awstats/tools/
awstats_updateall.pl now -configdir=/usr/local/etc/
awstats > /dev/null 2>&1
这里我的配置文件目录是/etc/awstats/
所以我的应该是10 8 * * * /usr/local/
awstats/tools/
awstats_updateall.pl now -update -config=tdrd.org > /dev/null 2>&1
|
测试:
我的是tdrd.org/awstats/awstats.pl?config=tdrd.org
|
awstats支持插件功能,以GeoIP为例:
网址:http://www.maxmind.com/app/perl?rId=awstats
cd /home/pkg cd /home/pkg |
定时更新GeoIP库:
[email protected] 0 0 * * 0 cd /usr/local/share/GeoIP/ && fetch http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz && gunzip -f GeoIP.dat.gz |
也可以从pkg安装各插件(参考配置文件PLUGINS一节):
pkg_add -r p5-URI.tbz pkg_add -r p5-Encode-HanConvert.tbz pkg_add -r p5-Storable.tbz pkg_add -r GeoIP.tbz pkg_add -r p5-Geo-IP.tbz pkg_add -r p5-Net-XWhois.tbz |
加载插件(/usr/local/etc/awstats/awstats.www.funbsd.net.conf):
LoadPlugin="decodeutfkeys" LoadPlugin="hashfiles" LoadPlugin="geoip GEOIP_STANDARD" LoadPlugin="hostinfo" |
我这里不能LoadPlugin="hostinfo"因为有东西没装上去
Error: Plugin load for plugin 'hostinfo' failed with return code: Error: Can't locate Net/XWhois.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 . /usr/local/awstats/wwwroot/cgi-bin/lib /usr/local/awstats/wwwroot/cgi-bin/plugins /usr/local/awstats/wwwroot/cgi-bin/plugins) at (eval 5) line 1.
Setup ('/etc/awstats/awstats.tdrd.org.conf' file, web server or permissions) may be wrong.
Check config file, permissions and AWStats documentation (in 'docs' directory
后面又装了个qqhostinfo,用纯真数据库qqwry.dat来查ip比较符合中国现状
http://www.ieasy.org/reload/cat2/awstats_qqhosti.html
1。首先,点击这里qqhostinfo.pm下载插件。把它放在awstats/wwwroot/cgi-bin/plugins中。
2.下载上一篇blog提到的分析QQWry.dat的perl脚本。qqwry.pl放在同一目录。
3。去网上下载QQWry.Dat放在同一目录中,注意文件名一定要是QQWry.Dat
4。编辑你得awstats配置文件,大概在LoadPlugin="hostinfo"的后面增加一行
LoadPlugin="qqhostinfo"