Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3015880
  • 博文数量: 535
  • 博客积分: 15788
  • 博客等级: 上将
  • 技术积分: 6507
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-07 09:11
文章分类

全部博文(535)

文章存档

2016年(1)

2015年(1)

2014年(10)

2013年(26)

2012年(43)

2011年(86)

2010年(76)

2009年(136)

2008年(97)

2007年(59)

分类: LINUX

2008-06-02 16:56:11

1.安装perl
下载
最新的稳定版是perl-5.8.8.tar.gz
./Configure
make
make test
make install
2.安装awstats

tar -xvzf awstats-6.7.tar.gz
mv awstats-6.7 awstats
cd awstats/tools
注:
perl awstats_configure.pl
perl awstats_configure.pl这一步的目的是为要分析的网站创建配置文件,也可以省略,而使用下面的命令拷贝模板

mkdir /etc/awstats
cp /opt/awstats/wwwroot/cgi-bin/awstats.model.conf /etc/awstats/common.conf

注:如果是使用perl awstats_configure.pl命令创建配置文件,下面的配置将自动添加到apache的配置文件上,否则需要手动添加。
#Directives to allow use of AWStats as a CGI
Alias /awstatsclasses "/opt/awstats/wwwroot/classes/"
Alias /awstatscss "/opt/awstats/wwwroot/css/"
Alias /awstatsicons "/opt/awstats/wwwroot/icon/"
Alias /icon "/opt/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/opt/awstats/wwwroot/cgi-bin/"

Options None
AllowOverride None
Order allow,deny
Allow from all


注销掉 Alias /icons/ "/opt/apache/icons/"

3.使用模板后,按照以下样例设置配置文件:

mkdir -p /opt/awstats/wwwroot/cgi-bin/data/

#cd /etc/awstats
#vi awstats.rhel5.conf
Include "common.conf"
LogFile="/opt/apache/logs/access_log
#LogFile="/opt/apache/logs/access_log.%Y%m%d"
SiteDomain="rhel5"
HostAliases="rhel5"
DefaultFile="index.html"
DirData="/opt/awstats/wwwroot/cgi-bin/data/"
//以下为可选参数
AllowToUpdateStatsFromBrowser=1 #允许在页面上使用“立即更新“,需要给nobody用户对于/opt/awstats/wwwroot/cgi-bin/data/可写的权限,如:chown -R nobody.nobody /opt/awstats/wwwroot/cgi-bin/data/
DNSLookup=0 #不进行dns反解
SkipHosts="::1"  #去掉mod_jk的访问输出

PurgeLogFile=1
ArchiveLogRecords=%YYYY%MM%DD  #这两条指令使awastats在分析完日志后,将日志清空,并存档到/usr/local/awstats/wwwroot/cgi-bin/data/目录下,可以选择不存档,或更改存档位置
需要给 access_log文件 其他用户可写的权限  chmod o+w access_log


添加了分析完日志清空并存档功能后,手动更新时,报错
Error: Couldn't open file "/usr/local/awstats/wwwroot/cgi-bin/data/awstats_archive.51go-web2.20080701.log" to archive log: Permission denied
因为手动更新使用的是daemon用户,所以需要给/usr/local/awstats/wwwroot/cgi-bin/data/awstats_archive.51go-web2.20080701.log o+x的权限。

关于多站点日志统计
AWStats自带了一个批处理工具:tools/awstats_updateall.pl,可以批量地遍历一个目录下所有地配置文件并运行统 计。因此剩下的工作就主要是日志的同步问题了。
针对多个站点,很多配置选项是重复的,如果每个配置文件都修改维护起来会很麻烦,AWStats从5.4版本开始提供了配置文件包含的功能,所以我们可 以配置一个通用配置,比如:common.conf然后其他站点的配置设置为:可以通过后面的选项覆盖和缺省不一致的配置。

新建配置文件awstats.bbs.chedong.conf内容为
Include "common.conf"
LogFile="/opt/apache/logs/access_log"
SiteDomain="1212"
#HostAliases="bbs"
DefaultFile="index.html"
DirData="/opt/awstats/wwwroot/cgi-bin/data/"
AllowToUpdateStatsFromBrowser=1
DNSLookup=0


同样的
awstats.
Include "common.conf"
LogFile="/opt/apache/logs/access_log"
SiteDomain="chedong"
#HostAliases="chedong"
DefaultFile="index.html"
DirData="/opt/awstats/wwwroot/cgi-bin/data/"
AllowToUpdateStatsFromBrowser=1
DNSLookup=0



4 添加定时分析
crontab -e
0 */1 * * * ( /usr/bin/perl /opt/awstats/wwwroot/cgi-bin/awstats.pl -update -config=rhel5)


5 关于访问控制
1)//首先需要在apache上做访问控制

Options None
AllowOverride None
Order allow,deny
Allow from all

修改 AllowOverride None 为 AllowOverride AuthConfig
启用认证
touch /opt/.apachepasswords
使用下面的命令为用户设定密码:
/opt/apache/bin/htpasswd -c /opt/.apachepasswords admin

在/opt/awstats/wwwroot目录下新建.htaccess文件:
AuthType Basic
AuthName "你需要输入用户名密码才可以继续访问"
AuthUserFile /opt/.apachepasswords
Require user admin
2)//awstats也有参数限制,只有通过了apache的访问控制,才可以访问关于网站日志的config文件。
编辑配置文件/etc/awstats/awstats.rhel5.conf,如添加下面的参数,即只有使用adm用户通过了apache的访问控制才可以看到日志分析的结果。
AllowAccessFromWebToAuthenticatedUsersOnly=1
AllowAccessFromWebToFollowingAuthenticatedUsers="admin"
AllowAccessFromWebToFollowingIPAddresses="192.168.7.111,192.168.7.139" #限制访问ip

6 qqhostinfo 显示IP的物理地址(可选)
  GeoIP显示国内不是很好用,因为我们国内,我们使用qq的数据库.
awstats是可以增加插件的。i.EASY.RELOADED做的这个qqhostinfo插件,可以在访问主机表格中增加一列,显示ip对应的位置。

代码及数据库:下载并复制到 awstats/plugins/目录下:
 下载QQWry.Dat

修改,qqwry.pl中:./QQWry.Dat 修改为 /usr/local/awstats/wwwroot/cgi-bin/plugins/QQWry.Dat
cp qqhostinfo.pm QQWry.Dat qqwry.pl  /usr/local/awstats/wwwroot/cgi-bin/plugins/
vi /etc/awstats/common.conf
添加
    LoadPlugin="qqhostinfo"
成功后在IP的后面多出Location一列


7 更新机器人数据 (可选)
最新机器人数据下在地址

替换 /opt/awstats/wwwroot/cgi-bin/lib/robots.pm文件。
注:我下载了一个,比自带的数据还老~~~~



附: 其它说明

#就是不统计指定IP的访问量
SkipHosts="x.x.x.x."

#数据源日志格式和按天的截断规则
对于Apache:日志格式好设置:设置成combined格式即可,日志截断麻烦一点:需要安装cronolog工具,
将日志设置成按天截断:
CustomLog "|/usr/local/sbin/cronolog /opt/apache/logs/access_log.%Y%m%d" combined 比如:logs/access_log.20061126
日志是压缩格式,可以使用gzip -d < /home/apache/logs/access_log.%YYYY-24%MM-24%DD-24.gz | 动态解压缩统计。


#统计指标说明
参观者:按来访者不重复的IP统计,一个IP代表一个参观者;
参观次数:一个参观者可能1天之内参观多次(比如:上午一次,下午一次),所以按一定时间内(比如:1个小时),不重复的IP数统计,参观者 的访问次数;
网页数:不包括图片,CSS, JavaScript文件等的纯页面访问总数,但如果一个页面使用了多个帧,每个帧都算一个页面请求;
文件数:来自浏览器客户端的文件请求总数,包括图片,CSS,JavaScript等,用户请求一个页面是,如果页面中包含图片等,所以对服 务器会发出多次文件请求,文件数一般远远大于文件数;
字节:传给客户端的数据总流量;
来自REFERER中的数据:日志中的参考(REFERER)字段,记录了访问相应网页之前地址,因此如果用户是通过搜索引擎的搜索结果点击 进入网站的,日志中就会有用户在相应搜索引擎的查询地址,这个地址中就可以通过解析将用户查询使用的关键词提取出来:

##plugin

MaxMind的GeoIP非常流行的地理信息Web应用包。原先提供的免费版只提供了一个IP=>国家的,但是对于网站的统计来说:精确到城市级别的才有比较好的分析价值。最近MaxMind提供了一个IP=>城市的简化版本。可以用于AWStats的分析统计。

安装流程如下:先安装一下GeoIP的C API和Perl API



tar zxf GeoIP-1.3.14.tar.gz
cd GeoIP-1.3.14
./configure
make
sudo make install

tar zxf Geo-IP-1.27.tar.gz
cd Geo-IP-1.27
perl Makefile.PL
make
sudo make install

下载MaxMind's GeoLiteCity database


gzip -d GeoLiteCity.dat.gz
大约25M

复制GeoLiteCity.dat到/usr/local/share/GeoIP/下,然后修改awstats.yoursitenam.conf中的
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/share/GeoIP/GeoLiteCity.dat"

效果如图:Peking/Beijing居然是2个不同的记录。看来60%的准确度的确不是很高,商业版的(每月90$)准确度为75%










阅读(1944) | 评论(0) | 转发(0) |
0

上一篇:linux 裸设备

下一篇:RHEL5.2 Cacti配置

给主人留下些什么吧!~~