Apache Tomcat ist ein Open-Source-Java-HTTP-Webserver, der von der Apache Software Foundation (ASF) entwickelt wurde. Tomcat hilft bei der Bereitstellung des Java Servlets und der JavaServer Pages (JSP) und bedient sie wie ein HTTP-Webserver.
In diesem Beitrag werden wir sehen, wie Apache Tomcat 10/9 auf CentOS 8 / RHEL 8 installiert wird.
Voraussetzungen
Installieren Sie Java
Tomcat erfordert die Installation von Java 8 oder höher auf Ihrem Computer. Sie können jede stabile Version von Oracle JDK oder OpenJDK installieren.
LESEN :So installieren Sie Oracle JAVA auf CentOS 8 / RHEL 8
Für diesen Beitrag verwende ich OpenJDK.
yum install -y java curl tar
Überprüfen Sie die Java-Installation, indem Sie den folgenden Befehl ausführen.
java -version
Ausgabe:
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-Dienstkonto erstellen
Als Best Practice sollte der Tomcat-Dienst nicht als Root-Benutzer ausgeführt werden. Erstellen Sie also einen regulären Linux-Benutzer zum Ausführen des Tomcat-Dienstes.
useradd -d /opt/tomcat -s /bin/nologin tomcat
Installieren Sie Apache Tomcat
Tomcat herunterladen
Laden Sie Apache Tomcat von der offiziellen Website herunter und speichern Sie es in Ihrem Arbeitsverzeichnis.
Zum Zeitpunkt der Erstellung dieses Artikels ist Tomcat v9.0.22 zur Installation verfügbar.
Browser
Apache Tomcat 10 herunterladen
Apache Tomcat 9.0 herunterladen
Terminal
### 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 einrichten
Extrahieren Sie den Tomcat-Tarball und verschieben Sie ihn in das gewünschte Verzeichnis (/opt/tomcat).
tar -zxvf apache-tomcat-*.tar.gz mv apache-tomcat-*/* /opt/tomcat/
Ändern Sie den Eigentümer des Verzeichnisses auf den Tomcat-Benutzer.
chown -R tomcat:tomcat /opt/tomcat/
Systemd-Datei erstellen
Wir können systemd so konfigurieren, dass der Tomcat-Dienst für Sie gestartet wird, und es hilft uns auch dabei, den Apache Tomcat-Dienst beim Systemstart automatisch zu starten.
Die systemd-Dienstdatei von Tomcat erfordert einen Java-Installationsort. Listen Sie also die verfügbaren Java-Versionen auf Ihrem System mit dem folgenden Befehl auf.
alternatives --list | grep ^java
Ausgabe:
java auto /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java
Derzeit habe ich nur Java 1.8 auf meinem System.
Erstellen Sie eine Tomcat-Systemdienstdatei.
vi /etc/systemd/system/tomcat.service
Fügen Sie der systemd-Dienstdatei die folgenden Informationen hinzu. Ändern Sie die Werte entsprechend Ihrer Umgebung.
[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
Erwägen Sie, SELinux zu deaktivieren, wenn es das Starten von Tomcat blockiert.
setenforce 0 sed -i 's/ELINUX=enforcing/ELINUX=disabled/g' /etc/selinux/config
Apache Tomcat starten
Systemd-Daemon neu laden.
systemctl daemon-reload
So starten Sie den Tomcat-Dienst; ausführen:
systemctl start tomcat
Überprüfen Sie den Status von Tomcat, führen Sie Folgendes aus:
systemctl status tomcat
Aktivieren Sie den Tomcat-Dienst, um beim Systemstart automatisch zu starten.
systemctl enable tomcat
Standardmäßig läuft Tomcat auf Port 8080. Überprüfen Sie mit dem Befehl netstat, ob der Dienst Port 8080 überwacht oder nicht.
netstat -antup | grep 8080
Ausgabe:
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2904/java
Firewall
Lassen Sie Port 8080 in der Firewall zu, damit wir von externen Netzwerken aus auf Apache Tomcat zugreifen können.
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
Apache Tomcat-Webbenutzeroberfläche konfigurieren
Apache Tomcat kann über den Web Manager verwaltet werden.
Mit Web Manager können Sie
- Stellen Sie neue Anwendungen bereit
- Stellen Sie neue Anwendungen im angegebenen Kontext bereit
- Listen Sie die aktiven oder inaktiven Anwendungen auf
- Starten und stoppen Sie die Webanwendungen
Außerdem hat Tomcat den Host Manager, um seine virtuellen Hosts zu verwalten.
Benutzerverwaltung
Sowohl der Web- als auch der Host-Manager sind passwortgeschützt, für den Zugriff sind ein Benutzername und ein Passwort erforderlich.
Nur der Benutzer mit der „manager-gui “ und „admin-gui ”-Rolle darf auf den Web- bzw. Host-Manager zugreifen.
Diese Benutzer und Rollen sind in tomcat-users.xml definiert .
vi /opt/tomcat/conf/tomcat-users.xml
Platzieren Sie die folgenden beiden Zeilen direkt über der letzten Zeile.
<role rolename="admin-gui,manager-gui"/> <user username="admin" password="tomcat" roles="manager-gui,admin-gui"/>
Zugriff zulassen
Aus Sicherheitsgründen ist sowohl der Web- als auch der Host-Manager nur von localhost aus zugänglich, d. h. vom Server selbst.
Um den Zugriff für den Web- und Host-Manager von Remote-Systemen aus zu ermöglichen, müssen Sie Ihr Netzwerk zur Zulassungsliste hinzufügen.
Befolgen Sie dazu die Schritte.
Web-Manager
vi /opt/tomcat/webapps/manager/META-INF/context.xml
Aktualisieren Sie die folgende Zeile mit der Quell-IP, von der aus Sie auf den Web- und Host-Manager zugreifen.
Alle zulassen
.* ermöglicht jedem den Zugriff auf den Webmanager.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.*" />
Organisationsnetzwerk zulassen
Sie können auch nur Ihr Organisationsnetzwerk zulassen. Beispiel:Um nur das Netzwerk 192.168.1.0/24 zuzulassen, können Sie die folgenden Werte verwenden.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />
Host-Manager
vi /opt/tomcat/webapps/host-manager/META-INF/context.xml
Aktualisieren Sie die folgende Zeile mit der Quell-IP, von der aus Sie auf den Host-Manager zugreifen.
Alle zulassen
.* ermöglicht jedem den Zugriff auf den Host-Manager.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.*" />
Organisationsnetzwerk zulassen
Sie können auch nur Ihr Organisationsnetzwerk zulassen. Beispiel:Um nur das Netzwerk 192.168.1.0/24 zuzulassen, können Sie die folgenden Werte verwenden.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />
Starten Sie den Tomcat-Dienst neu.
systemctl restart tomcat
Zugriff auf Tomcat
Öffnen Sie den Webbrowser und zeigen Sie ihn auf:
http://ip.add.re.ss:8080Sie erhalten nun die Standardseite von Tomcat.
Manager-App (Manager-GUI):– Anmeldung erforderlich. Benutzername:admin, Passwort:tomcat.
Hier können Sie eine Anwendung bereitstellen, eine Anwendung in einem bestimmten Kontext bereitstellen, eine Anwendung starten, stoppen, neu laden und die Bereitstellung rückgängig machen.
Außerdem können Sie den Tomcat sehen Serverstatus .
Host-Manager (Admin-GUI):– Anmeldung erforderlich. Benutzername:admin, Passwort:tomcat.
Hier können Sie die virtuellen Hosts von Tomcat verwalten.
Schlussfolgerung
Das ist alles. Ich hoffe, Sie haben gelernt, wie man Tomcat 10/9 auf CentOS 8 / RHEL 8 installiert. Sie sind jetzt bereit für Ihre erste Webanwendung. Ziehen Sie als Sicherheitsempfehlung die Implementierung von SSL/TLS für Tomcat in Betracht