Answers:
最常见的方法是使用安装标准tomcat7
软件包apt-get
并使用以下方法启动它:
sudo service tomcat7 start
如/etc/default/tomcat7
以下摘录所示,默认用户和组已配置为:
# Run Tomcat as this user ID. Not setting this or leaving it blank will use the
# default of tomcat7.
TOMCAT7_USER=tomcat7
# Run Tomcat as this group ID. Not setting this or leaving it blank will use
# the default of tomcat7.
TOMCAT7_GROUP=tomcat7
/etc/default/tomcat7
?
编辑:请阅读下面的评论!此解决方案可能不适用于所有情况。
可接受的答案很好,但是由于我是在Ubuntu 14.04上运行Tomcat 7的,因此我还需要做一些其他事情才能使一切运行:
/etc/default/tomcat7
。更改用户和组后,将无法再使用旧用户停止服务。更改文件中的用户和组 /etc/default/tomcat7
您需要更改文件夹/var/log/tomcat7
及其所有文件的所有权。请注意,保留adm组以使所有adm用户都可以阅读日志是有利的。
sudo chown -R newuser:adm /var/log/tomcat7
更改文件夹的所有权 /var/lib/tomcat7/webapps
sudo chown -R newuser:newgroup /var/lib/tomcat7/webapps
如果在Ubuntu 14.04的端口80/443上运行,则需要更改authbind文件的所有权:
sudo chown newuser /etc/authbind/byport/80
sudo chown newuser /etc/authbind/byport/443
更改工作文件夹的所有权
sudo chown newuser:adm /var/cache/tomcat7
sudo chown -R newuser:newgroup /var/cache/tomcat7/Catalina
使配置文件可读。这里有两个选项:通过以下方式将您的新用户添加到tomcat7组:
sudo usermod -a -G tomcat7 newuser
...或更改配置文件的所有权:
sudo chown -R :newgroup /var/lib/tomcat7/conf/*
如果您有其他Web应用程序正在访问的文件,例如日志文件配置文件等,那么您还需要更改这些文件的所有权。
编辑2:升级到tomcat 8和Ubuntu 18.04之后,以其他用户身份运行tomcat时出现另一个问题。在脚本中/etc/init.d/tomcat8
,以下行似乎更改了tomcat用户的主文件夹,但如果使用其他用户,结果将不是您想要的。
usermod --home /var/lib/tomcat8 $TOMCAT8_USER > /dev/null 2>&1 || true
通过删除或注释掉该行,可以避免为新的tomcat用户更改主文件夹。