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


[学习心得]awstats + tomcat的安装(windows版)及二次开发
陈捷的blog 发表于 2006-12-1 16:34:24

  1、在windows环境下安装activeperl (目前版本5.8),将perl放到你的系统path里   2、从http://sourceforge.net/projects/awstats/ 下载最新版(我的是6.6)     在网上下载PurePerl.pm,GeoIP.dat   3、修改tomcat的server.xml      <Valve className="org.apache.catalina.valves.AccessLogValve"                 directory="logs"  prefix="localhost_access_log." suffix=".txt"                 pattern="combined" resolveHosts="false" fileDateFormat="yyyy-MM-dd"/>   4、在webapp下建立一个awstats的应用,里面含有WEB-INF的那种,即webapp下建立一个目录,名称为awstats,在awstats下建立一个WEB-INF的目录,目录里含有一个web.xml文件,内容如下 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"  version="2.4">  <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-bin</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>    <session-config>    <session-timeout>      30    </session-timeout>  </session-config>  <welcome-file-list>    <welcome-file>      index.jsp    </welcome-file>    <welcome-file>      index.html    </welcome-file>    <welcome-file>      index.htm    </welcome-file>  </welcome-file-list> </web-app>   5、将tomcat的server/lib目录下的servlets-cgi.renametojar文件改名为servlets-cgi.jar   6、在下载的awstats包里的docs、tools、wwwroot下的classes、js、css、icon等目录(除了cgi-bin目录)下的内容拷贝到tomcat下的awstats目录下,将cgi-bin目录下的内容拷贝到WEB-INF目录下   7、在cgi-bin目录下找到awstats.model.conf文件,将其复制为(例awstats.chenjie.conf)修改其中内容 LogFile="D:/tomcat5.0/logs/localhost_access_log.%YYYY-0-%MM-0-%DD-0.txt"SiteDomain="chenjie"DirData="."DirCgi="/cgi-bin"DirIcons="/awstats/icon"LoadPlugin="tooltips"LoadPlugin="geoip GEOIP_STANDARD c:/perl/GeoIP.dat" #我放国家信息库的地址 8、将下载到的GeoIP.dat放到上述路径里(例c:/perl/GeoIP.dat),将PurePerl.pm放到cgi-bin/plugins/GEO/IP目录下  9、运行tomcat,访问http://localhost/awstats/cgi-bin/awstats.pl?config=chenjie 即可访问 10、日志的更新    在dos窗口里运行如下代码    perl awstats.pl -config=chenjie -update(月报默认)    perl awstats.pl -config=chenjie -update -DatabaseBreak=day(日报表)    perl awstats.pl -config=chenjie -update -DatabaseBreak=month(月报表)    perl awstats.pl -config=chenjie -update -DatabaseBreak=year(年报表)    perl awstats.pl -config=chenjie -update -DatabaseBreak=hour(小时报表)11、二次开发    默认awstats页面都是以月为基准的,如果要查看日报表就得修改原程序,让它能自由切换。    将7747行修改为    if($DatabaseBreak eq 'day'){    print "<select class=\"aws_formfield\" name=\"day\">\n";                 foreach (1..31) { my $dayhix=sprintf("%02s",$_); print "<option".($DayRequired eq "$dayhix"?" selected=\"true\"":"")." value=\"$dayhix\">$dayhix</option>\n"; }    print "</select>\n";    }                print "<select class=\"aws_formfield\" name=\"month\">\n";   在7767行插入    if ($DatabaseBreak)  { print "<input type=\"hidden\" name=\"DatabaseBreak\" value=\"$DatabaseBreak\" />\n"; }   将7772行修改为    print "<input type=\"submit\" value=\" $Message[115] \" class=\"aws_button\" />&nbsp;&nbsp;";    if($DatabaseBreak ne 'day'){                print "<a href=\"".XMLEncode("$AWScript?")."DatabaseBreak=day&config=$SiteConfig&framename=mainright&year=$nowyear&month=$nowmonth&day=$nowday\">$Message[165]</a>&nbsp;&nbsp;";    }else{                print "<a href=\"".XMLEncode("$AWScript?")."DatabaseBreak=month&config=$SiteConfig&framename=mainright&year=$nowyear&month=$nowmonth\">$Message[166]</a>&nbsp;&nbsp;";    print "<a href=\"".XMLEncode("$AWScript?")."config=$SiteConfig&framename=mainright&year=$nowyear&month=all\">$Message[167]</a>&nbsp;&nbsp;";    }   将8930行修改为               if($MonthRequired eq 'all'){   print "$YearRequired $Message[6]";   }else{    print "$YearRequired $Message[6] $MonthRequired $Message[5] ";    if($DayRequired ne ''){     print "$DayRequired $Message[84]";    }   }    #print ($MonthRequired eq 'all'?"$Message[6] $YearRequired":"$Message[5] ".$MonthNumLib{$MonthRequired}." $YearRequired");   找到文件cgi-bin/lang/awstats-cn.txt在文件后增加两行message165=日报表message166=月报表message167=年报表 至此awstats安装完毕,简单的二次开发也完成了。              

阅读全文(14769) | 回复(4) | 编辑 | 精华

回复:awstats + tomcat的安装(windows版)及二次开发
sunlight(游客)发表评论于2010-5-13 17:52:46

我这里总是报perl出错,不知道是不是perl没装好的问题

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除

回复:awstats + tomcat的安装(windows版)及二次开发
君宽(游客)发表评论于2008-11-21 15:56:34

现在用的是awstats 6.8,您提及的“二次开发”行号似乎对不上了,能说明一下前后代码是什么么?
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除

回复:awstats + tomcat的安装(windows版)及二次开发
feng(游客)发表评论于2008-1-8 15:14:06

您好,我按照您的文章一步一步配置,第7步做了相应的改动,文件名为awstats.feng.conf,修改其中内容LogFile="D:/tomcat_5.5.25/logs/localhost_access_log.%YYYY-0-%MM-0-%DD-0.txt",为自己tomcat的目录,SiteDomain="chenjie"结果输入http://localhost/awstats/cgi-bin/awstats.pl?config=feng却说找不到服务器,然后我又将SiteDomain改为要统计的站点名,还是不行,请问这是为什么呢,我ActivePerl已装好,能编译脚本,但是输入perl awstats.pl却说找不到文件,请您指教一下哪里出错了呢,先谢谢了。
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除

回复:awstats + tomcat的安装(windows版)及二次开发
nn(游客)发表评论于2006-12-21 18:57:03


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
» 1 »

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

 
«October 2018»
123456
78910111213
14151617181920
21222324252627
28293031

  公告

公司招聘

招聘java工程师,项目经理,咨询工程师,培训及测试工程师,有意者给我留言


  我的分类(专题)
  最近日志

  最新评论

  留言板

  链接


  Blog信息
blog名称:陈捷的blog
日志总数:11
评论数量:47
留言数量:-6
访问次数:128235
建立时间:2005年11月23日



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

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