在Debian系统上管理Tomcat的权限涉及多个步骤,包括创建专用用户和组、配置文件和目录权限、以及设置systemd服务。以下是详细的指南:
首先,建议创建一个专用的系统用户和组来运行Tomcat,而不是使用root用户。这可以通过以下命令完成:
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
从Apache Tomcat官方网站下载最新版本的Tomcat,并解压到指定目录(例如 /opt/tomcat ):
cd /tmp
wget http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.zip
unzip apache-tomcat-9.0.76.zip
sudo mv apache-tomcat-9.0.76 /opt/tomcat
将Tomcat目录及其子目录的所有权更改为新创建的用户和组:
sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R 755 /opt/tomcat/bin/*.sh
在 /etc/systemd/system/ 目录下创建一个新的 tomcat.service 文件:
sudo nano /etc/systemd/system/tomcat.service
添加以下内容:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/usr/lib/jvm/default-java
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:UseParallelGC'
Environment='JAVA_OPTS=-Djava.security.egdfile=/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
重新加载systemd配置并启动Tomcat服务:
sudo systemctl daemon-reload
sudo systemctl start tomcat
为了在系统启动时自动启动Tomcat服务,执行以下命令:
sudo systemctl enable tomcat
编辑 tomcat-users.xml 文件以配置Web管理界面。使用以下命令打开文件:
sudo nano /opt/tomcat/latest/conf/tomcat-users.xml
添加管理用户及其角色:
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>
保存并关闭文件,然后重新启动Tomcat:
sudo systemctl restart tomcat
如果需要从外部网络访问Tomcat管理界面,打开端口8080:
sudo ufw allow 8080/tcp
在浏览器中访问 http://your_server_ip:8080 ,使用刚刚配置的管理用户名和密码登录,验证是否成功。