在Ubuntu 22.04上安装并配置Tomcat 9
1、验证 Java 可用性
在安装 Tomcat 之前,您需要确保您的Ubuntu**系统上有 Java。使用以下命令检查 Java 版本:
# java -version
2、安装Java(可选)
如果未安装 Java 或者系统上有旧版本,则需要使用以下命令安装最新的 OpenJDK 版本:
# sudo apt install default-jdk
3、设置Tomcat用户
我们强烈建议避免使用 root 用户运行 Tomcat。这是一个严重的安全漏洞,可能会使您的系统遭受攻击。
相反,为 Tomcat 创建专用的用户和组:
# sudo groupadd tomcat
# sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
4、下载并安装Tomcat 9
# cd /tmp
# wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.97/bin/apache-tomcat-9.0.97.tar.gz
# sudo mkdir /opt/tomcat
# sudo tar xzvf apache-tomcat-9.0.97.tar.gz -C /opt/tomcat --strip-components=1
5、更新 Tomcat 用户权限
将tomcat目录所有权分配给 Tomcat 用户和组,并通过更改文件和目录权限确保bin目录中的脚本可执行。运行以下命令执行这些任务:
# sudo chown -RH tomcat: /opt/tomcat
# sudo chmod +x /opt/tomcat/bin/*.sh
6、创建Tomcat服务文件
使用以下命令确定 Java 安装路径:
# sudo update-java-alternatives -l
接下来,为 Tomcat 创建一个新的 systemd 服务文件:
# sudo nano /etc/systemd/system/tomcat.service
将以下配置行添加到文件中。请记住将JAVA_HOME变量调整为系统路径:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
保存文件并重新加载守护进程并使服务在重启时运行:
# sudo systemctl daemon-reload
# sudo systemctl enable tomcat
现在,启动 Tomcat 服务并检查其状态:
# sudo systemctl start tomcat
# sudo systemctl status tomcat
7、配置防火墙
配置防火墙以允许端口 8080 上的流量:
# sudo ufw allow 8080/tcp
接下来,在浏览器中打开以下 URL 以测试对 Tomcat 服务器的访问:
http://localhost:8080或 http://server_ip:8080
8、设置Web管理界面
通过在终端中运行以下命令在 Nano 中打开 tomcat-users.xml:
# sudo nano /opt/tomcat/conf/tomcat-users.xml
接下来,在文件中添加以下行来设置用户和角色配置:
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="Your_Password" roles="manager-gui,manager-script"/>
</tomcat-users>
请记住用安全的密码替换Your_Password 。
9、配置远程访问
最后,您需要通过修改管理器和主机管理器目录中的 context.xml 文件来配置远程访问。
# sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
注释掉或调整RemoteAddrValve以控制访问。对于不受限制的访问,它看起来如下:
<Context antiResourceLocking="false" privileged="true">
<!-- Valve configurations here -->
</Context>
如果需要,请对主机管理器 context.xml重复此操作。