tomcat下配置使用awstats笔记

tomcat下配置使用awstats笔记

1。环境

使用的是 Linux CentOS-5,安装一切正常。

Perl 5.8 (必须5.2或更高,awstats是用perl写的)
#perl -v  这个命令可以查看perl的版本

apache-tomcat-5.5.25

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 安装包到 /data/tomcatXXX
解压 awstats 安装包到 /data/software/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.${mydomain}.conf 文件,添加以下几个配置项。

Include "common.conf"
LogFile="/data/www/logs/access_log.%yyyy-%mm-%dd.log"
SiteDomain="${mydomain}"
HostAliases="localhost 127.0.0.1"
DefaultFile="index.jsp"
DirData="data"

根据配置文件的配置,在当前目录建立一个空文件夹 #mkdir data  存放分析后的数据。

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

开始分析日志

运行一下awstats
cd /data/www/webroot/WEB-INF/cgi/ webroot为工程所在的目录
./awstats.pl -config=${mydomain} -update 如:www.yourdomain.com

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

查看结果

http://${mydomain}/cgi-bin/awstats.pl?config=${mydomain}

因为咱们直接使用的是自己的域名作为awstats配置文件的名字,所以也可以这样访问awstats

http://${mydomain}/cgi-bin/awstats.pl

自动更新

crontab -e
#Update AWStats
每五分钟自动更新一次
*/5 * * * * (cd /data/www/${mydomain}/WEB-INF/cgi/;./awstats.pl -update -config=www.yourdomain.com)
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="yourUsername" password="!@#" roles="AwstatsAdmin"/>
</tomcat-users>

你可能感兴趣的:(tomcat,Web,servlet,cgi,perl)