喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
     
标题: [经验] 基于AWSTATS的WEB日志统计  
 
anycan
新手上路
Rank: 1



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
2008-2-1 02:16 PM#1
查看资料  发短消息  顶部
 
jdk_cn
乞丐

Banned



UID 63549
精华 0
积分 -9
帖子 122
金钱 -9 喜悦币
威望 0
人脉 0
阅读权限 1
注册 2005-3-18
状态 离线
[推荐阅读] 搞不定了
QQWry.Dat  哪里提取最新版本呢



Jvm.cn Linux系统专业Jsp空间,php空间
2008-2-14 08:39 PM#2
查看资料  发短消息  顶部
 
anycan
新手上路
Rank: 1



UID 109221
精华 0
积分 2
帖子 12
金钱 2 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2008-2-1
状态 离线
[推荐阅读] 搞不定了
QQWry.Dat  哪里提取最新版本呢
网上有大把的呀




http://cndefu.blog.163.com
2008-2-20 01:21 PM#3
查看资料  发短消息  顶部
 
osdn
禁止发言

初级会员



UID 66985
精华 0
积分 -37
帖子 353
金钱 -37 喜悦币
威望 0
人脉 0
阅读权限 0
注册 2005-9-28
来自 红色主机
状态 离线
[推荐阅读] 招php初级程序员
*** 作者被禁止或删除 内容自动屏蔽 ***
2008-2-22 03:41 PM#4
查看资料  访问主页  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.032117 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP