尝试在Ubuntu 15.04上的Tomcat8上部署WAR时出错

时间:2016-01-06 20:31:55

标签: java apache tomcat ubuntu tomcat8

我正在尝试使用Tomcat8,Apache和Ubuntu 15.04部署.war文件。当我在tomcat的/ manager部分单击“选择要上载的WAR文件”时,出现以下错误:

  

失败 - 部署上传失败,异常:java.io.FileNotFoundException:   /opt/tomcat/webapps/musicStore.war(权限被拒绝)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

将评论转换为答案,添加更多信息:

您的/opt/tomcat/webapps目录属于某人(执行ls -l /opt/tomcat/webapps以查看其所属的人)。

当tomcat正在运行时,执行ps aux | grep catalina以查看哪个用户正在运行tomcat(取决于您启动它的方式 - 可能是您自己的当前用户)。你可以 chown <thatuser> /opt/tomcat/webapps。但是,对于生产系统,我强烈建议不要运行管理器应用程序,并且tomcat自己的目录可以写入自身。它打开了相当多的攻击媒介,是不好的做法恕我直言

如果它是本地开发系统,舒适性通常胜过安全性 - 您可能会选择保留经理应用程序。

为了缓解生产中潜在的管理器应用程序问题,至少限制对已知IP地址的访问,保持用户数据库的良好维护(而不是使用明文密码的tomcat-users.xml)。但是,在我的生产系统上,tomcat无法写入自己的webapps目录 - 因此通过管理器应用程序进行的热应用部署无论如何都无法正常工作......