如何安装Apache Web服务器和Apache tomcat以避免出现如下错误:
java.io.FileNotFoundException: /usr/local/apache-tomcat-7.0.5/work/Catalina/localhost/_/SESSIONS.ser (Permission denied)
在/usr/local/apache-tomcat-7.0.5/logs/catalina.out中
我想我应该为Apache用户做点什么,因为当我在tomcat文件夹上chmod 777 -R ./
时,所有错误都会消失。
答案 0 :(得分:21)
$ chmod -R 777 webapps temp logs work conf
非常危险,不要这样做,我写的“不做”吗?不要做!猜猜你的tomcat-users.xml与你的用户名和纯文本密码在哪里?
在UNIX上的任何地方给予世界读写执行,除了/ tmp(甚至那时,在prod中,从来没有这样做)是非常愚蠢的。并且,它使你的第一行,chown -R tomcat6完全没用。
确保tomcat以tomcat7运行(对于tomcat 6来说是tomcat6)并且只需执行:
$ cd $TOMCAT_BASE
$ chown -R tomcat7:tomcat7 webapps temp logs work conf
$ chmod -R 660 webapps temp logs work conf
[编辑]在评论后将770
更改为660
,因为无需执行相关文件。
如果您希望能够在那里读取,写入或执行某些内容,请将自己添加到tomcat7组。
答案 1 :(得分:2)
无法保证这样做的安全性,但
$ cd /usr/local/tomcat/ #or /usr/shared/tomcat6, whatever your $TOMCAT_BASE dir
$ chown -R tomcat6 webapps temp logs work conf
$ chmod -R 777 webapps temp logs work conf
works a treat针对这些情况。
我的tomcat安装被许可错误所困扰,但是打开大门因此修复了所有内容。
答案 2 :(得分:0)
使用较旧的Tomcat-6实现进入类似的情况......
...
SEVERE: Error deploying web application directory host-manager
java.io.FileNotFoundException: /opt/tomcat-6/conf/Catalina/localhost/host-manager.xml (Permission denied)
...
而且,webapp XML都在那里,所有权和权限都是“tomcat:tomcat”和“644”。
对我来说,解决方案是将总体权限设置为Tomcat更喜欢的权限,即“0755”。
并且,作为注意安全性的注释,该实现的server.xml使用JDBC Realm进行身份验证,因此我们甚至不使用tomcat-users.xml。因此,它是安装附带的默认文件,甚至注释掉其中的默认用户帐户(例如“tomcat”和“manager”)。我知道在Tomcat-7中,默认情况下会对tomcat-users.xml中的帐户进行注释。
HTH。