anycan
新手上路

UID 109221
精华
0
积分 2
帖子 12
金钱 2 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2008-2-1
状态 离线
|
基于AWSTATS的WEB日志统计
AWSTATS是一个功能强大,界面美观的网站访问统计系统。
它分析APACHE产生的日志文件,利用PERL生成可视化的统计网页。
呵呵,不多说了,这就在Linux上配置AWSTATS。
我的系统是Fedora 7
#uname -a
inux www.m6699.com 2.6.23.8-34.fc7 #1 SMP Thu Nov 22 23:05:33 EST 2007 i686 i686 i386 GNU/Linux
一、准备安装环境
1. Perl (版本高于5.50)
#perl -v
This is perl, v5.8.8 built for i386-linux-thread-multi
2. 打开APACHE配置文件/usr/local/apache/conf/httpd.conf
查看全局CustomLog日志路径及日志文件名,并查看
日志格式是否为combined。(注意:如果在虚拟主机部分指定了虚拟主机日志路径,则全局的CustomLog无效!)
3. 如果对日志进行了配置则要重起APACHE。
二、安装AWSTATS
可以在http://awstats.sourceforge.net/ 下载到最新版本的AWSTAS,本文中使用的是6.7
1、上传文件awstats-6.7.tar.gz到/usr/local
2、解压awstats-6.7.tar.gz
[root@www awstats]#tar -zxvf awstats-6.7.tar.gz .
[root@www awstats]#mv awstats-6.7 awstats
[root@www awstats]#cd awstats
[root@www awstats]# ls
conf docs README.TXT tools wwwroot
[root@www awstats]#cd tools
3、运行向导: #perl awstats_configure.pl (按照提示进行选择,仔细阅读都会看明白的!而且有步骤提示操作)
默认生成的配置文件会放在/etc/awstats/下面,名称为awstats.www.m6699.com.conf
4、ln -s /usr/local/awstats/wwwroot /var/www/html/awstats
5、vi /usr/local/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin webmaster@mc333.com
DocumentRoot "/var/www/html/awstats"
ServerName awstats.m6699.com
Alias /awstatsclasses "/var/www/html/awstats/classes/"
Alias /awstatscss "/var/www/html/awstats/css/"
Alias /awstatsicons "/var/www/html/awstats/icon/"
ScriptAlias /awstats/ "/var/www/html/awstats/cgi-bin/"
ErrorLog "logs/awstats.m6699.com/awstats.m6699.com.error_log"
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache2/logs/awstats.m6699.com/awstats.m6699.com.access_log.%Y%m%d" combined
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</VirtualHost>
#/usr/local/apache/bin/apachectl restart
三、配置AWSTATS
#vi /etc/awstas/awstats.www.m6699.com.conf
更改:
LogFile (APCHE CustomLog日志的绝对路径)
LogFile="/usr/local/apache/logs/www.m6699.com/www.m6699.com_access_log.%YYYY-0%MM-0%DD-0"
表示当天的
LogFile="/usr/local/apache/logs/www.m6699.com/www.m6699.com_access_log.%YYYY-24%MM-24%DD-24"
就是昨天的了
DirData (指定AWSTATS生成数据的存放目录,可以任意指定,但注意目录
目录要具有读写权限,可以设置为777或755) ../../data
DirCgi (cgi的路径,是相对于网站根目录的绝对路径:/yoursite/cgi-bin)
DirIcons (icon的路径,是相对于网站根目录的绝对路径:/icon)
SiteDomain (输入你的域名:yourdomain)
HostAliases (主机别名,如果还有其他的二级域名或三级域名,请在此添加。)
AllowToUpdateStatsFromBrowser (是否允许用户从浏览器中实时更新统计。0:不允许;1:允许)
Lang="cn" (设置网页显示语言为简体中文。)
[root@www awstats]# cd /usr/local
[root@www local]# chown -R root:root awstats
[root@www local]# chmod -R 755 awstats
[root@www local]# cd awstats
[root@www awstats]# mkdir data
[root@www awstats]# chown -R daemon data [daemon为apache运行用户]
[root@www awstats]# chmod -R 755 data
四、测试AWSTATS
#/yoursite/cgi-bin/awstats.pl -update -config=yourdomain
如果不出现错误信息并且得到统计数据回显则成功!如果出现错误,则多是DirData中设置的目录的权限问题。
访问地址:http://yourdomain/awstats/awstats.pl?config=yourdomain
如:
[root@www awstats]#cd wwwroot/cgi-bin
[root@www cgi-bin]# perl awstats.pl -config=www.m6699.com -update -lang=cn
[root@www cgi-bin]# perl awstats.pl -config=www.m6699.com -output -staticlinks -lang=cn>awstats.www.m6699.com.html
[root@www cgi-bin]# chmod 777 /usr/local/awstats/wwwroot/cgi-bin/*.pl
五、设置crond
shell>; crontab -e
增加命令:(可设置为每天零时进行更新)
/yoursite/cgi-bin/awstats.pl -update -config=yourdomain
59 23 * * * (cd /usr/local/awstats/wwwroot/cgi-bin;./awstats.pl -config=www.m6699.com -update -lang=cn)
http://awstats.m6699.com/awstats/awstats.pl?config=www.m6699.com
六、配置Geo-IP
安装配置全程脚本:
# 下载
wget http://www.maxmind.com/download/geoip/api/c/GeoIP-1.4.3.tar.gz
wget http://www.maxmind.com/download/geoip/api/perl/Geo-IP-1.30.tar.gz
wget http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# 安装
tar zxf GeoIP-1.4.3.tar.gz
cd GeoIP-1.4.3
./configure
make
make install
cd ..
tar zxf Geo-IP-1.30.tar.gz
cd Geo-IP-1.30
perl Makefile.PL
make
make install
cd ..
gunzip GeoLiteCity.dat.gz
cp -a GeoLiteCity.dat /usr/local/share/GeoIP/
# 更新动态库路径
echo /usr/local/lib > /etc/ld.so.conf.d/geoip-i386.conf
ldconfig -v
# 修改 awstats 配置
最后,在/etc/awstats/awstats.www.m6699.com.conf中开启Geo::IPfree插件。
LoadPlugin="geoip GEOIP_STANDARD /usr/local/share/GeoIP/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/share/GeoIP/GeoLiteCity.dat"
下次 update 数据和 build pages 就可以看到
国家或地区 (前 10) 和 主机 (前 10) 中的IP地理位置信息
awstats/tools/awstats_updateall.pl now
awstats/tools/awstats_buildstaticpages.pl -config=configdomainname -month=$M -lang=cn
GeoIP Country 链接到 #countries
GeoIP City 链接到 awstats.$configdomainname.plugin_geoip_city_maxmind.html
更新统计、刷新网站,如果能出现访问者国家的国旗图标就成功了。
另外,如果想对多个虚拟主机配置不同的访问统计,可以生成多个awstats.domain.conf文件,并对其中的域名进行
更改,然后如法炮制的进行配置。注意,如果使用虚拟主机日志的话,则APACHE不会启用全局日志记录!
七、珊瑚虫IP统计:
awstats是一个极好用的网站访问日志统计工具,它可以统计每天/每月的访问量,大家通过哪些搜索引擎,搜的什么关键字才来到你的网站的. 访问你的人都来自那些IP,那些国家,使用什么浏览器等等。 使用这样的工具,你就能更好的把握你的网站的用户群的爱好,呵呵
这次,我介绍一下显示来访者地区的插件。awstats是可以增加插件的。我做的这个qqhostinfo插件,可以在访问主机表格中增加一列,显示ip对应的位置。当然这个资料来源于著名的QQWry.Dat文件。上一篇blog我介绍了一个用perl脚本写的查询ip地址位置的程序。刚好,awstats的插件也需要perl来写。
http://www.ieasy.org/download/qqhostinfo.pm
http://www.ieasy.org/download/qqwry.pl
下载并复制到/usr/local/awstats/wwwroot/cgi-bin/plugins/目录下。
QQ纯真库IP库:
http://www.cz88.net/fox/
官方网站打不开,也可以从华军/天空等下载站找到;
下载解包,将QQwry.Dat文件复制到awstats/ 下;
修改,qqwry.pl中:
./QQWry.Dat 修改为 ${DIR}/plugins/QQWry.Dat
在配置文件中:增加
vi /etc/awstats/awstats.www.m6699.com.conf
去掉下面前面的"#"。
LoadPlugin="qqhostinfo"
现在打开网页看看,效果是: (Location这一列)
八、美观及提示
打开标题提示:
vi /etc/awstats/awstats.www.m6699.com.conf
LoadPlugin="tooltips"
LoadPlugin="decodeutfkeys"
来源:http://cndefu.blog.163.cn
|
|