Einführung
Tomcat ist ein Open-Source-Java-Implementierungspaket, das von der Apache Software Foundation entwickelt wurde. In diesem Tutorial erfahren Sie, wie Sie Tomcat 9 unter CentOS 7 installieren.

Voraussetzungen
- Ein Benutzerkonto mit sudo Privilegien
- Zugriff auf ein Terminalfenster / eine Befehlszeile (Strg-Alt-F2)
Überprüfen Sie, ob Java installiert ist
Tomcat setzt auf eine bestehende Java-Installation. Überprüfen Sie, ob auf Ihrem System Java installiert ist. Geben Sie Folgendes in ein Terminalfenster ein:
java -version

Sie sollten mindestens JDK 1.8.0 ausführen. Wenn das System eine ältere Version oder kein installiertes Java meldet, installieren Sie Java, indem Sie Folgendes eingeben:
sudo yum install java-1.8.0-openjdk-devel
Tomcat-Benutzer und -Gruppe erstellen
Tomcat sollte nicht als root ausgeführt werden . Erstellen Sie einen neuen Benutzer und eine neue Gruppe, indem Sie Folgendes eingeben:
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Tomcat 9 herunterladen
Tomcat 9.0.20 ist die neueste Version zum Zeitpunkt der Erstellung dieses Dokuments. Eine spätere Version ist möglicherweise auf der offiziellen Download-Seite verfügbar. Geben Sie alternativ Folgendes ein:
cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz

Extrahieren Sie die .tar.gz-Datei
Um die Tomcat tar.gz-Datei nach /opt/tomcat zu extrahieren , geben Sie Folgendes ein:
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1

Tomcat-Benutzerberechtigungen ändern
Der neue Tomcat-Benutzer benötigt Ausführungsrechte für das Verzeichnis.
Geben Sie Folgendes ein:
sudo chown -R tomcat:tomcat /opt/tomcat
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
Erstellen Sie eine Systemeinheitendatei
Durch das Erstellen einer System-Unit-Datei kann Tomcat als Dienst ausgeführt werden.
1. Suchen Sie den Java-Speicherort mit dem folgenden Befehl:
readlink -f $(which java)

Kopieren Sie den übergeordneten Ordner von /jre/bin/java für den nächsten Schritt.
1. So erstellen Sie einen tomcat.service Datei verwenden Sie den Befehl:
sudo nano /etc/systemd/system/tomcat.service
2. Geben Sie in der Datei Folgendes ein:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat"
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

Fügen Sie den Pfad aus dem vorherigen Schritt in Environment="JAVA_HOME=<path>"
ein Linie.
3. Speichern und schließen Sie die Datei.
4. Aktualisieren Sie das System:
sudo systemctl daemon-reload
5. Stellen Sie den Tomcat-Dienst so ein, dass er beim Booten startet:
sudo systemctl enable tomcat
6. Starten Sie den Tomcat-Dienst:
sudo systemctl start tomcat
7. Stellen Sie sicher, dass der Tomcat-Dienst installiert ist und ausgeführt wird:
sudo systemctl status tomcat

Firewall anpassen
Der Tomcat-Dienst benötigt Zugriff auf Port 8080 .
Lassen Sie Datenverkehr zu, indem Sie die folgenden Befehle eingeben:
firewall-cmd --zone=public --permanent --add-port=8080/tcp

Die Meldung success
druckt auf dem Terminal. Laden Sie die Firewall neu, um die Option anzuwenden:
firewall-cmd --reload

Sie sollten den Tomcat-Server in einem Webbrowser sehen können.
Geben Sie diese Webadresse in ein Browserfenster ein:
http://server_ip:8080
Wenn Sie Tomcat beispielsweise auf einem lokalen Server ausführen, verwenden Sie:
http://localhost:8080

Webverwaltungsschnittstelle einrichten
1. Um einen Benutzer für den Zugriff auf die Webverwaltungsschnittstelle zu erstellen, bearbeiten Sie die Benutzerdatei, indem Sie Folgendes eingeben:
sudo nano /opt/tomcat/conf/tomcat-users.xml
2. Löschen Sie alles aus der Datei und fügen Sie Folgendes hinzu:
<tomcat-users>
<!--
Comments
-->
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="good_password" roles="admin-gui,manager-gui"/>
</tomcat-users>
Ersetzen Sie good_password mit einem sicheren Passwort Ihrer Wahl.
Speichern Sie die Datei und beenden Sie sie. Sie sollten jetzt in einem Webbrowser auf die Webverwaltungsschnittstelle zugreifen können. Besuchen Sie http://server_ip:8080/manager/html um die Schnittstelle zu verwenden.

Fernzugriff konfigurieren (optional)
Standardmäßig ist Tomcat nur von dem lokalen Computer aus zugänglich, auf dem es installiert ist. Mit diesem Schritt können Sie einer bestimmten IP-Adresse Zugriff gewähren.
1. Bearbeiten Sie die folgende Datei:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
2. Fügen Sie Folgendes hinzu:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.*" />
3. Speichern Sie die Datei und beenden Sie sie.
4. Wiederholen Sie den Vorgang für die zweite Datei:
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
5. Fügen Sie Folgendes hinzu:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.*" />
6. Speichern und beenden.
Dadurch wird Zugriff auf jedes System in 192.168.0.* gewährt Bereich von IP-Adressen.
Sie können die IP-Adresse in einen bestimmten Bereich für Ihr Intranet ändern. Alternativ können Sie die IP-Adresse eines einzelnen Systems verwenden.
Das Sternchen fungiert als Platzhalter, um mehrere IP-Adressen zuzulassen. Das Gewähren von Vollzugriff kann Sicherheitslücken hinterlassen. Ermöglichen Sie stattdessen nur Systemen mit geschäftlicher Notwendigkeit den Zugriff auf Tomcat.