1。环境
我使用的是 Linux RedHat 9,安装一切正常。其他系统没有试过。
Perl 5.8 (必须5.2或更高,awstats是用perl写的)
#perl -v 这个命令可以查看perl的版本
tomcat-5.0.28
awstats
2。下载
tomcat http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi
awstats http://awstats.sourceforge.net/
3。安装
解压
tar xzvf tomcatXX.tar.gz
tar xzvf awstatsXX.tar.gz
解压 tomcat 安装包到 /opt/tomcat
解压 awstats 安装包到 /opt/awstats
启动tomcat中的CGI功能
修改tomcat的配置文件%TOMCAT_HOME%/conf/web.xml,让tomcat可以支持cgi脚本
取消这段servlet的配置文件的注释
<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>clientInputTimeout</param-name>
<param-value>100</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>6</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
取消这段servlet mapping的配置文件的注释
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
tip:如果找不到这两段配置文件的话可以用vi的查找命令 :/cgi 然后按n,直到找到为止。
配置完tomcat的web.xml文件,让tomcat支持cgi,之后还有一个重要的工作,就是找到tomcat的安装目录下server/lib/servlet-cgi.renametojar文件,将它该名为servlet-cgi.jar。
这样tomcat就可以支持cgi。
配置tomcat日志
修改tomcat的%TOMCAT_HOME%/conf/server.xml配置文件,让tomcat输出awstats可以支持的log日志。
修改
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
为:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="access_log." suffix=".log"
pattern="combined" fileDateFormat="yyyy-MM-dd" resolveHosts="false"/>
tip:tomcat默认的配置文件这段配置信息被注释,需要取消注释。
部署awstats
拷贝并改名 awstats/wwwroor/cgi-bin 目录到 你的 /WEB-INF/cgi 目录
把 /WEB-INF/cgi/awstats.model.conf 改名为 common.conf
将common.conf作为默认配置文件,然后在自定义的配置文件引入,这样配置省很多事情。
然后建立并编辑awstats.${你的域名}.conf 文件,添加以下几个配置项。
Include "common.conf"
LogFile="/home/tomcat/logs/access_log.%yyyy%mm%dd.log"
SiteDomain="${你的域名}"
HostAliases="localhost 127.0.0.1"
DefaultFile="index.jsp"
DirData="data"
根据配置文件的配置,在当前目录建立一个空文件夹 #mkdir data 存放分析后的数据。
拷贝awstats/wwwroor/icon 到 你WEB的 /icon
开始分析日志
运行一下awstats
cd /opt/tomcat/webapps/localhost/WEB-INF/cgi/
./awstats.pl -config=${你的域名} -update
启动tomcat
/opt/tomcat/bin/startup.sh
查看结果
http://localhost/cgi-bin/awstats.pl?config=${你的域名} {你的域名}
因为咱们直接使用的是自己的域名作为awstats配置文件的名字,所以也可以这样访问awstats
http://localhost/cgi-bin/awstats.pl
自动更新
crontab -e
#Update AWStats
1 6 * * * (cd /opt/tomcat/webapps/localhost/WEB-INF/cgi/;./awstats.pl -update -config=$ {你的域名})
4。高级
添加权限控制
修改 awstats 所在站点的 web.xml 在 servlet-mapping 标签下添加下面的配置信息
<!-- Define reference to the user database for looking up roles -->
<resource-env-ref>
<description>
Awstats status
</description>
<resource-env-ref-name>users</resource-env-ref-name>
<resource-env-ref-type>
org.apache.catalina.UserDatabase
</resource-env-ref-type>
</resource-env-ref>
<!-- Define a Security Constraint on this Application -->
<security-constraint>
<web-resource-collection>
<web-resource-name>awstats statics</web-resource-name>
<url-pattern>/cgi-bin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<!-- NOTE: This role is not present in the default users file -->
<role-name>AwstatsAdmin</role-name>
</auth-constraint>
</security-constraint>
<!-- Define the Login Configuration for this Application -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Awstats status</realm-name>
</login-config>
<!-- Security roles referenced by this web application -->
<security-role>
<description>
leon
</description>
<role-name>AwstatsAdmin</role-name>
</security-role>
然后在 %TOMCAT%/conf/tomcat-user.xml 添加这些
<tomcat-users>
<role rolename="AwstatsAdmin"/>
<user username="anysoon" password="!QAZXSW@" roles="AwstatsAdmin"/>
</tomcat-users>
让搜索关键字支持各种编码,没有乱码
到common.conf配置文件中找到 #LoadPlugin="decodeutfkeys" 这句,取消注释。
然后awstats页面可能出错,不要着急,去search.cpan.org 找到URI这个包,找到后下载,安装。awstats的搜索关键字就支持各种编码了,不会在出可恶的乱码。
使用QQWry.dat支持IP物理地址显示
直接去这里看吧,http://www.ieasy.org/coffee/archives/000229.html awstats 显示来访者位置的插件 qqhostinfo
参考文档
http://www.chedong.com/tech/awstats.htmlAWStats : Apache/IIS的日志分析工具
——在GNU/Linux和Windows平台上的使用简介
http://www.funbsd.net/log/awstats.htm AWStats安装手册
http://www.21ds.net/article/_42/2004-07/07/320_1.html AWStats [Advanced Website Statistics] 6.1 安装配置笔记