1. 搭建环境
Apache Tomcat 7.x
JDK 1.6+
Perl 5.2+ (awstats是使用perl开发的)
Linux (自带Perl环境)
2. 修改<Tomcat_HOME>\conf\web.xml配置文件,取消 cgi servlet 和对应的 mapping 注释,让Tomcat支持cgi程序执行:
<servlet> <servlet-name>cgi</servlet-name> <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>cgiPathPrefix</param-name> <param-value>WEB-INF/cgi</param-value> </init-param> <init-param> <param-name>passShellEnvironment</param-name> <param-value>true</param-value> </init-param> <load-on-startup>5</load-on-startup> </servlet> <servlet-mapping> <servlet-name>cgi</servlet-name> <url-pattern>/cgi-bin/*</url-pattern> </servlet-mapping>
3. 修改<Tomcat_HOME>\conf\context.xml配置文件,在Context上添加 privileged="true" 属性:
<Context privileged="true"> <!--其他部分--> </Context>
4. 测试CGI是否成功,在<Tomcat_HOME>\webapps\ROOT\WEB-INF\cgi\下创建cgi脚本文件 test.cgi:
# filename: test.cgi print "Content-type: text/html\n\n"; print "Hello, world!\n"
启动Tomcat,并访问:http://localhost:8080/cgi-bin/test.cgi,如果能看到 Hello, world! 页面,说明cgi开启成功。
5. 下载 awstats 日志分析工具,并解压
6. a. 在<Tomcat_HOME>/webapps/下创建 awstats目录以及相应的WEB-INF目录
b. 将<AWSTATS_HOME>/wwwroot/目录下 css/,icon/,js/目录拷贝到 <Tomcat_HOME>/webapps/awstats/ 目录下
c. 将<AWSTAS_HOME>/wwwroot/cgi-bin/ 下的所有文件拷贝到 <TOMCAT_HOME>/webapps/awstats/WEB-INF/cgi 目录下
7. 重命名<Tomcat_HOME>/webapps/awstats/WEB-INF/cgi/awstats.model.conf 为 awstats.localhost.conf,并修改如下的配置:
#对应日志文件所在位置 LogFile="/usr/java/apache-tomcat-7.0.52/logs/localhost_access_log.%yyyy-%mm-%dd.txt" #站点域名 SiteDomain="localhost" #在cgi建立data文件夹 DirCgi="/cgi" DirData="data" #图标所在目录 DirIcons="../icon" #国际化文件所在目录 DirLang="./lang" #国际化所使用的语言,默认为"auto" Lang="cn" #允许在web页更新日志,默认为0(命令行更新:awstats.pl -config=localhost -update) AllowToUpdateStatsFromBrowser=1 #生成页面所使用的样式表,awstas提供了默认的样式表,可通过该项目自定义awstats样式 StyleSheet="../css/awstats_default.css" #在生成页面头部所要加入的HTML(可选) HTMLHeadSection="<div id="header">Head Example</div>" #在生成页面尾部索要加入的HTML(可选) HTMLEndSection="<div>@company</div>"
8. 修改<Tomcat_HOME>/conf/server.xml
<Service name="Catalina"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="combined" fileDateFormat="yyyy-MM-dd" resolveHosts="false"/> </Host> </Service>
提示:
配置的prefix需要与awstats中配置一致;
pattern:配置日志的格式,默认也可设置为common或combined,也可自行配置格式(但是如果要集成awstats,必须使用combined,或者扩展他)
common:%h %l %u %t %r %s %b
combined:%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i
9. 启动及验证:
启动tomcat后,输入:http://localhost:8080/awstats/cgi-bin/awstats.pl?config=localhost
即可查看,需要点击 “立即更新“,否则新配置的不会有数据;
config为需要查看的统计站点,与你配置相同即可;
10. 有关更新频率:
更新可直接在页面中点击“立刻更新”,或也可以设置一个crotab -e进行配置:
0 */10 * * * curl http://127.0.0.1::8080/awstats/cgi-bin/awstats.pl?month=04&year=2014&config=localhost&framename=mainright&update=1