一尘不染

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

tomcat

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

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

我该如何解决?


阅读 300

收藏
2020-06-16

共1个答案

一尘不染

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

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

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

如果是本地开发系统,那么舒适度通常会比安全性重要-您可能会选择保留Manager应用程序。

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

2020-06-16