本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7580185
建立时间:2006年5月29日




[Ubuntu]用AWStats统计网站访问情况
软件技术

lhwork 发表于 2007/2/9 22:07:40

授权方式:署名,非商业用途,保持一致,转载时请务必以超链接(http://www.fwolf.com/blog/post/286)的形式标明文章原始出处和作者信息及本声明。 AWStats是一款强大的日志分析工具,可以从你保存的服务器日志中分析出类似51.la统计的信息,当然,他的功能可不仅仅是web服务器的日志分析,还可以分析其他服务器比如mail服务器的日志呢。 awstats的官方安装说明繁琐了一些,其实没那么复杂的,也就下面几步。我使用的环境为ubuntu linux,apache2。 首先是awstats的安装,ubuntu直接apt就能装上了,也有用源码包或者源代码安装的,不过其实只是一些文件和perl程序而已,不用编 译,放到合适的位置就可以了。/usr/share/awstats是一些语言文件、图标文件、库和插件,/etc/awstats下面是配置文件,核心 程序awstats.pl放在/usr/lib/cgi-bin目录下,也就是常用的cgi程序目录,并且设置可执行权限。 然后就要对apache进行一番配置了,首先强烈建议把日志类型从默认的common更改为combined,这样日志文件会记录更详细的信息,便于分析: CustomLog /var/log/apache2/access.log combined 如果服务器有多个虚拟主机的话,一般建议每个虚拟主机的log文件分别存放,不过awstats也能处理混合在一起的log,前提是需要使用自定义log格式,并且把在log中记录主机名,比较麻烦,不建议使用。iis系列的设定还是参照官方安装说明吧,我不熟悉。下面来设置apache,配置web访问相关的设置,根据我的环境,apache的conf中添加如下内容即可: Alias /awstatsicons “/usr/share/awstats/icon” ScriptAlias /cgi-bin /usr/lib/cgi-bin RewriteRule ^/awstats[/]? /cgi-bin/awstats.pl [R] <Directory “/usr/lib/cgi-bin”> Options +ExecCGI </Directory> 加上那句RewriteRule我只是为了访问更方便,以前几乎没有用过cgi程序,习惯http://domain.com/awstats这样的网址了。对apache的更改其实就是cgi运行环境的设定而已。 最后,我们还要针对要统计日志的每个网站,创建配置文档。/etc/awstats/awstats.conf是默认的配置文档模板,里面所有的选项都有详细说明和例子,所以只给出我的一个配置实例(awstats.localhost.conf): # Basic # —– # 要分析的log文件地址 LogFile=”/var/log/apache2/access.log” # W - web log file LogType=W # Log format, 1-combined, 4-common LogFormat=1 # Separator char in log file, default is ” ” LogSeparator=” ” # 主机名和别名 SiteDomain=”localhost” HostAliases=”127.0.0.1″ # DNS Lookup, 0-no, 1-full, 2-only from static dns cache DNSLookup=2 # 结果数据存放地点 DirData=”/big2/awstats_data/localhost” # AWStats web-access url DirCgi=”/cgi-bin” # 图标文件的apache虚拟目录 DirIcons=”/awstatsicons” # Allow update state from web interface, 1 to enable AllowToUpdateStatsFromBrowser=1 # Allow full-year view function AllowFullYearView=3 # Optinal # ——- # Create a lock file when update stats result, not open when no shell priv EnableLockForupdate=1 # Static DNS file DNSStaticCacheFile=”/big2/awstats_data/dnscache.txt” # 只能从以下ip地址访问 AllowAccessFromWebToFollowingIPAddresses=”127.0.0.1″ # Xhtml report file instead of html BuildReportFormat=xhtml # Purge log file after use PurgeLogFile=0 # Pic, file only marked hit and not download NotPageList=”css js class gif jpg jpeg png bmp ico swf” # Include url parameters, but count only some param URLWithQuery=1 URLWithQueryWithOnlyFollowingParameters=”" # Keep param in referrer urls URLReferrerWithQuery=1 # Show problems in setup conf file WarningMessages=1 # Use frame UseFramesWhenCGI=1 # Open report in new window,0-no, 1-except using frame, 2-always DetailedReportsOnNewWindows=1 # Show language change link ShowFlagLinks=”en cn” 常用的配置项应该就这么多,稍微重要一点的我都用中文注释上了,注意要确定log文件和储存结果的文件存在并且能够被apache用户www- data访问,配置到这里就基本上结束了,现在打开浏览器,http://localhost/awatats就可以访问了,当然默认是没有数据的,因为 还没有进行分析,如果设置了相应的选项,可以从web页面直接下达更新指令,也可以使用如下命令更新: perl /usr/lib/cgi-bin/awstats.pl -config=localhost -update 分析完成的结果就可以通过web页面观看了。 在实际应用当中,如果apache日志是不截断的,也就是说所有时间的日志都保存在access.log文件当中,虽然awstats能够自动辨识 上次处理的进度,只处理新产生的那一部分日志,但堆一个大文件在这里还是会有些不方便,所以建议把apache日志截断,linux下可以直接把 access.log改名,windows下则需要改名并重启apache,不然apache会很聪明的把日志写到改名以后的文件中。这样我们的log文 件名中就带有日期了,在conf文件中可以这样指定: LogFile=”/var/log/apache2/access.%YYYY-24%MM-24%DD-24.log” 在这个例子中,我的log文件名类似access.20070206.log的模式,并且把awstats.pl放到cron中,每天都自动处理前 一天的日志,所以用“%YYYY-24%MM-24%DD-24”来指定24小时以前日期的年、月、日,只要7号的某个时间执行更新脚本,得到的日期就肯 定是6号了。 LogFile理论上还可以识别多个log文件和gz格式的log文件,不过我也不知道怎么写才合适,只有请教过路大侠了。 参考: Configuring Awstats with Apache 2 on Ubuntu


阅读全文(5670) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144773112 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号