如何安装 Apache CentOS 8 / RHEL 8 上的 Tomcat 10/9

Apache 雄猫 是一个开源的 Java HTTP Web 服务器,由 Apache 软件基金会 (ASF)。 Tomcat 有助于部署 Java Servlet 和 JavaServer Pages (JSP),并像 HTTP Web 服务器一样为它们提供服务。

在这篇文章中,我们将看到如何安装 Apache CentOS 8 / RHEL 8 上的 Tomcat 10/9。

先决条件

安装 Java

Tomcat 需要在您的机器上安装 Java 8 或更高版本。 您可以安装任何稳定版本的 Oracle JDK 或 OpenJDK。

如何在 CentOS 8 / RHEL 8 上安装 Oracle JAVA

对于这篇文章,我使用的是 OpenJDK。

yum install -y java curl tar

通过发出以下命令验证 Java 安装。

java -version 

输出:

openjdk version "1.8.0_275" OpenJDK Runtime Environment (build 1.8.0_275-b01) OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)

创建 Tomcat 服务帐户

作为最佳实践,Tomcat 服务不应以 root 用户身份运行。 因此,创建一个普通的 Linux 用户来运行 Tomcat 服务。

useradd -d /opt/tomcat -s /bin/nologin tomcat

安装 Apache 雄猫

下载Tomcat

下载 Apache 来自 Tomcat 官方网站 并将其保存在您的工作目录中。

在撰写本文时,Tomcat v9.0.22 可供安装。

浏览器

下载 Apache 雄猫10

下载 Apache 雄猫9.0

终端

### Apache Tomcat 10.x  curl https://downloads.apache.org/tomcat/tomcat-10/v10.0.4/bin/apache-tomcat-10.0.4.tar.gz -o apache-tomcat-10.0.4.tar.gz  ### Apache Tomcat 9.x  curl https://downloads.apache.org/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.tar.gz -o apache-tomcat-9.0.44.tar.gz 

设置Tomcat

提取 Tomcat tarball 并将其移动到您想要的 (/选择/ tomcat) 目录。

tar -zxvf apache-tomcat-*.tar.gz  mv apache-tomcat-*/* /opt/tomcat/

将目录的所有权更改为 tomcat 用户。

chown -R tomcat:tomcat /opt/tomcat/

创建系统文件

我们可以配置systemd为你启动Tomcat服务,也可以帮助我们自动启动 Apache Tomcat 服务在系统上启动。

Tomcat 的 systemd 服务文件需要 Java 安装位置。 因此,请使用以下命令列出系统上可用的 Java 版本。

alternatives --list  | grep ^java

输出:

java                    auto    /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java

目前,我的系统上只有 Java 1.8。

创建一个 tomcat systemd 服务文件。

vi /etc/systemd/system/tomcat.service

将以下信息添加到 systemd 服务文件中。 C根据您的环境更改值。

[Unit] Description=Apache Tomcat Web Application Container Wants=network.target After=network.target  [Service] Type=forking  Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre  Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment="CATALINA_OPTS=-Xms512M -Xmx1G -Djava.net.preferIPv4Stack=true" Environment="JAVA_OPTS=-Djava.awt.headless=true"  ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh SuccessExitStatus=143  User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always  [Install] WantedBy=multi-user.target 

SELinux

如果 SELinux 阻止启动 tomcat,请考虑禁用它。

setenforce 0  sed -i 's/ELINUX=enforcing/ELINUX=disabled/g' /etc/selinux/config

开始 Apache 雄猫

重新加载 systemd 守护进程。

systemctl daemon-reload

启动Tomcat服务; 跑:

systemctl start tomcat

检查Tomcat的状态,运行:

systemctl status tomcat

启用 Tomcat 服务以在系统启动时自动启动。

systemctl enable tomcat

默认情况下,Tomcat 运行在 8080 端口。使用 netstat 命令检查服务是否在 8080 端口上侦听。

netstat -antup | grep 8080 

输出:

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      2904/java

防火墙

在防火墙中允许8080端口,以便我们可以访问 Apache 来自外部网络的Tomcat。

firewall-cmd --permanent --add-port=8080/tcp  firewall-cmd --reload

配置 Apache Tomcat 网页界面

Apache Tomcat 可以通过 Web Manager 进行管理。

使用 Web 管理器,您可以

  • 部署新应用
  • 在指定的上下文中部署新应用程序
  • 列出活动或非活动应用程序
  • 启动和停止 Web 应用程序

此外,Tomcat 具有 Host Manager 来管理其虚拟主机。

用户管理

The Web 和 Host Manager 都受密码保护,需要用户名和密码才能访问。

只有具有“manager-gui“ 和 ”admin-gui” 角色分别被允许访问 Web 和 Host 管理器。

这些用户和角色定义在 tomcat-users.xml.

vi /opt/tomcat/conf/tomcat-users.xml

将以下两行放在最后一行的正上方。

<role rolename="admin-gui,manager-gui"/> <user username="admin" password="tomcat" roles="manager-gui,admin-gui"/>

允许访问

出于安全原因,Web 和主机管理器都只能从本地主机访问,即从服务器本身访问。

要从远程系统启用对 Web 和主机管理器的访问,您需要将您的网络添加到允许列表中。

为此,请按照以下步骤操作。

网页管理器

vi /opt/tomcat/webapps/manager/META-INF/context.xml

使用您访问 Web 和主机管理器的源 IP 更新以下行。

允许所有人

.* 将允许每个人都可以访问 Web 管理器。

allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1|.*" />

允许组织网络

您也可以只允许您的组织网络。 例如:要仅允许 192.168.1.0/24 网络,您可以使用以下值。

allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" /> 

主机管理器

vi /opt/tomcat/webapps/host-manager/META-INF/context.xml

使用您访问主机管理器的源 IP 更新以下行。

允许所有人

.* 将允许每个人都可以访问主机管理器。

allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1|.*" />

允许组织网络

您也可以只允许您的组织网络。 例如:要仅允许 192.168.1.0/24 网络,您可以使用以下值。

allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" /> 

重启Tomcat服务。

systemctl restart tomcat

访问Tomcat

打开 Web 浏览器并将其指向:

https://ip.add.re.ss:8080

您现在将获得 Tomcat 的默认页面。

Manager App (manager-gui): – 需要登录。 用户名: admin,密码:tomcat。

在这里,您可以部署应用程序、在指定的上下文中部署应用程序、启动、停止、重新加载和取消部署应用程序。

此外,您还可以看到 雄猫 服务器状态.

主机管理器(admin-gui): – 需要登录。 用户名: admin,密码:tomcat。

在这里,您可以管理 Tomcat 的虚拟主机。

结论

就这样。 我希望您已经学会了如何在 CentOS 8 / RHEL 8 上安装 Tomcat 10/9。 第一个网络应用程序. 作为安全建议,请考虑实施 SSL/TLS 用于 Tomcat