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

Java 在Ubuntu 15.04上尝试在Tomcat8上部署WAR时出错,java,apache,tomcat,ubuntu,tomcat8,Java,Apache,Tomcat,Ubuntu,Tomcat8,我正在尝试使用Tomcat8、Apache和Ubuntu 15.04部署一个.war文件。当我在tomcat的/manager部分中单击“选择要上传的WAR文件”时,我得到以下错误: 失败-部署上载失败,异常:java.io.FileNotFoundException: /opt/tomcat/webapps/musicStore.war(权限被拒绝) 如何解决此问题?将评论转换为答案,添加更多信息: 你的/opt/tomcat/webapps目录属于某人(执行ls-l/opt/tomcat/w

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

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


如何解决此问题?

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

你的
/opt/tomcat/webapps
目录属于某人(执行
ls-l/opt/tomcat/webapps
查看它属于谁)

当tomcat运行时,执行ps aux | grep catalina,查看哪个用户正在运行tomcat(取决于您启动它的方式-可能是您自己的当前用户)。你可以
chown/opt/tomcat/webapps
。但是,对于生产系统,我强烈建议不要让manager应用程序运行,也不要让tomcat自己的目录可写。它打开了相当多的攻击向量,在IMHO中是不好的做法

如果它是一个本地开发系统,舒适性通常胜过安全性——你可以选择保留manager应用程序


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

chmod完全授予该文件夹的权限chmod 777 everything?向世界开放一切?好吧,这是你的选择。我不会这么做的。Tomcat作为特定用户运行。只需授予该用户对该目录的权限就可以了。或者不使用manager,而是通过OSI复制文件。我是个新手。如何创建特定用户,然后授予其部署WAR的权限?您的/opt/tomcat/webapps目录属于某个人(执行
ls-l/opt/tomcat/webapps
查看它属于谁)。当tomcat运行时,执行ps aux | grep catalina查看哪个用户正在运行tomcat。你可以
chown that user/opt/tomcat/webapps
。但是,对于生产系统,我强烈建议不要让manager应用程序运行,也不要让tomcat自己的目录可写。它打开了相当多的攻击向量,是不好的做法感谢帮助!