蓝少个人博客

实迷途其未远,觉今是而昨非

在Tomcat中部署Awstats日志分析工具

日期:2018-06-25 阅读:248 分类:学无止境 标签:Web LAMP 

近期,由于某项目需要对网页浏览做个统计分析,于是对AWStats做了一番研究后,在Tomcat中进行部署试用。首先说明一下AWStats的用途和特点,AWStats是一个开源的基于perl的网站统计工具。它可以统计站点的信息主要有:

一、访问量,访问次数,页面浏览量,点击数,数据流量等

二、精确到每月、每日、每小时的数据

三、访问者国家

四、访问者IP

五、Robots/Spiders的统计

六、访客持续时间

七、对不同Files type 的统计信息

八、Pages-URL的统计

九、访客操作系统浏览器等信息

十、其它信息(搜索关键字等等)

/////////////////////////////////////////////////////////////////////

好了,废话不多说,下面进入正题,AWStats的使用配置方式:

Step1.首先肯定是下载 AWStats,我当前用的是http://sourceforge.net/projects/awstats/files/AWStats/7.3/awstats-7.3.tar.gz/download

当然可以下其他版本https://sourceforge.net/projects/awstats/files/AWStats/

Step2.创建awstats app,在Tomcat的webapps目录下建立文件夹awstats 然后将awstats-7.3.tar.gz解压后,将awstats-7.3\wwwroot目录下的css,icon,js,classes等4个文件夹copy到刚创建的webapps\awstats目录下,在webapps\awstats目录下新建META-INF和WEB-INF两个文件夹,复制cgi-bin到WEB-INF目录下

Step3.在META-INF下新建context.xml文件,内容如下:

<Context reloadable="true" privileged="true"></Context>

Step4.在WEB-INF下新建web.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <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>0</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>

    <resource-env-ref>
        <description>
Link to the UserDatabase instance from which we request lists of
defined role names. Typically, this will be connected to the global
user database with a ResourceLink element in server.xml or the context
configuration file for the Manager web application.
        </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 status</web-resource-name>
            <url-pattern>/cgi-bin/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>awstats</role-name>
        </auth-constraint>
    </security-constraint>
    <!-- Define the Login Configuration for this Application -->
    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>Awstats status,username: awstats,password: awstats</realm-name>
    </login-config>
    <!-- Security roles referenced by this web application -->
    <security-role>
        <description>
The role that is required to log in to the Manager Application
        </description>
        <role-name>awstats</role-name>
    </security-role>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

Step5.配置awstats,将WEB-INF/cgi-bin目录下的awstats.model.conf文件改名为common.conf,然后在WEB-INF/cgi-bin目录下新建文件awstats.localhost.conf,内容如下:

Include "common.conf"    
LogFile="D:/tool/apache-tomcat-7.0.67/logs/localhost_access_log.%yyyy-%mm-%dd.log"    
SiteDomain="localhost"    
HostAliases="localhost 127.0.0.1"    
DefaultFile="index.jsp"    
#在cgi-bin建立data文件夹     
DirData="data"    
DirCgi="/cgi-bin"    
DirIcons="/awstats/icon"    
#允许在web页更新日志,默认为0(命令行更新)     
AllowToUpdateStatsFromBrowser=1

Step6.修改Tomcat配置文件夹conf下的server.xml文件,内容如下

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".log" pattern="combined" fileDateFormat="yyyy-MM-dd" resolveHosts="false"/>  

Step7.修改Tomcat配置文件夹conf下的tomcat-users.xml文件,加入用户配置

<role rolename="awstats"/>
<user username="awstats" password="awstats" roles="awstats"/>

Step8.重启Tomcat,然后访问地址

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

输入Step7中配置的账号密码,可以看到awstats的统计界面。点击“立即更新”连接,可以更新统计信息。