设为首页 收藏本站
查看: 360|回复: 0

[经验分享] tomcat下使用awstats 实现tomcat的cgi功能

[复制链接]

尚未签到

发表于 2017-1-18 09:24:22 | 显示全部楼层 |阅读模式
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>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-330031-1-1.html 上篇帖子: Tomcat 个版本差异 下篇帖子: 查看电脑支持tomcat最大内存,以及设置tomcat内存
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表