文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>tomcat下使用awstats

tomcat下使用awstats

时间:2005-07-21  来源:lues

主要是实现tomcat的cgi功能

1。环境

Linux RedHat AS 4

Perl 5.8 (必须5.2或更高,awstats是用perl写的)

Tomcat 5

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

启动CGI

把servlets-cgi.renametojar (在CATALINA_HOME/server/lib/目录下)改名为servlets-cgi.jar。处理CGI的servlet应该位于Tomcat的CLASSPATH下。

修改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日志

修改tomcat的%TOMCAT_HOME%/conf/server.xml配置文件,让tomcat输出awstats可以支持的log日志。

修改

<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>

为:

<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"  prefix="localhost_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 改名为 awstats.localhost.conf

编辑awstats.localhost.conf 文件,修改以下几个配置项。

LogFile="/opt/tomcat/logs/localhost_access_log.%yyyy-%mm-%dd.log"

LogType=W

LogFormat=1

SiteDomain="localhost"

DirData="."

DirIcons="icon"

拷贝awstats/wwwroor/icon 到 你WEB的 /icon

分析日志

运行一下awstats
cd /opt/tomcat/webapps/localhost/WEB-INF/cgi/
./awstats.pl -config=localhost -update

启动tomcat
/opt/tomcat/bin/startup.sh

查看结果

http://localhost/cgi-bin/awstats.pl?config=localhost

自动更新

crontab -e
#Update AWStats
1 6 * * * (cd /opt/tomcat/webapps/localhost/WEB-INF/cgi/;./awstats.pl -update -config=localhost)

4。高级

多站点的配置文件

AWStats的配置文件可以用包含的方式配置,把通用的配置放在一个文档,然后用 Include 将通用配置包含在各个具体配置文件的头部,
而且具体的配置信息会覆盖通用配置中的相应属性。例如,具体的配置文件内容可以只有下面的三行:

Include="common.conf"
LogFile="/path/to/bbs/access_log"
SiteName="bbs.chedong.com"

添加权限控制
修改 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>


参考文档

http://www.oreilly.com.cn/news.php?n=20040109171925&c=java

http://romeblog.blogdriver.com/romeblog/606318.html

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载