【问题标题】:Tomcat6 and Audited Objects on Ubuntu 10.04Ubuntu 10.04 上的 Tomcat6 和审核对象
【发布时间】:2012-04-12 15:02:09
【问题描述】:

尝试使用Audited Objects 来移植我们一直在运行的make 进程,我在启动servlet 实例时遇到了失败。这也是我在 StackOverflow 上而不是在其他 SE 网站上问这个问题的原因,因为这与开发人员的工具有关。

我将文件AO.war 复制到/var/lib/tomcat6/webapps 并在重新启动Tomcat 时自动解压到文件夹/var/lib/tomcat6/webapps/AO 中。但是每当我尝试启动实例(在 Tomcat 管理器中正确显示)时,我都会得到:

FAIL - Application at context path /AO could not be started

日志文件给了我:

SEVERE: Error configuring application listener of class com.aotool.web.listener.SessionListener
java.lang.ClassNotFoundException: com.aotool.web.listener.SessionListener
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3915)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
        at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1251)
        at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:613)
        at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:136)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:636)
Mar 28, 2012 11:47:22 PM org.apache.catalina.core.StandardContext listenerStart

我不是 Tomcat 或 Java 开发人员,只是 Tomcat 的用户。之前我尝试使用here 中描述的aoserveraoserver.cfg(调整为正确的路径和所有权)方法,但没有给出任何线索,但默默地失败了。

注意:我将 /etc/tomcat6(及其下的文件)的所有权授予运行 Tomcat 的 tomcat6 用户。

Tomcat的运行版本为:6.0.24-2ubuntu1.10

【问题讨论】:

  • 您可能不应该将/etc/tomcat6 目录的所有权授予tomcat6 用户——如果Tomcat 服务器被黑客入侵,您希望尽可能少地可写——理想情况下没有任何东西可以写在重新启动时重新感染服务器。
  • @sarnold:我意识到这一点。但是:a.) 这是 Intranet 中的开发机器,b.) 如果问题已经解决,我非常愿意再次加强安全性。
  • 我不知道 AO,但显而易见的是,AO.war 的 WEB-INF/lib 中缺少包含 com.aotool.web.listener.SessionListener 类的 jar,或者 WEB- 中缺少该类本身INF/类。能解压war并检查一下吗?
  • @BGR:会做并将相应地修改问题。谢谢。

标签: java servlets tomcat6


【解决方案1】:

停止服务器并尝试完全删除 webapps/AO 目录。

重启前检查 AO.war 文件大小是否符合预期。

【讨论】:

  • AO.war 是 14.04 MiB。启动 Tomcat6 时,AO/ 文件夹为 15.11 MiB。这并没有改变任何东西,我之前已经尝试过,在发现它会自动提取文件之后。 .war文件的MD5是b09203ce866059ff0a04e56ad2202db1,应该是来自audited-objects-AO-1.0.10.zip的那个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
  • 2013-01-28
  • 1970-01-01
  • 2012-01-27
  • 1970-01-01
相关资源
最近更新 更多