Wie installiere ich Apache Tomcat mit Nginx Reverse Proxy unter Ubuntu 24.04
Apache Tomcat oder „Tomcat“ ist ein freier und quelloffener Java-Servlet-Container für Java-Code und -Anwendungen. Er bietet eine „reine Java“-HTTP-Serverumgebung, in der Java-Code ausgeführt werden kann. Tomcat implementiert auch JavaServer Pages, Java Expression Language und WebSocket-Technologien. Er unterstützt SSL zur Sicherung sensibler Daten, z. B. zur Authentifizierung.
In dieser Anleitung lernst du, wie du Apache Tomcat auf einem Ubuntu 24.04 Server installierst. Du wirst Apache Tomcat 10 mit dem Java OpenJDK 21 installieren und anschließend Nginx als Reverse Proxy installieren und konfigurieren.
Voraussetzungen
Bevor du fortfährst, solltest du sicherstellen, dass du Folgendes hast
- Einen Ubuntu 24.04 Server.
- Einen Nicht-Root-Benutzer mit Administrator-Rechten.
Installation von Java OpenJDK
Bevor du Apache Tomcat installierst, musst du sicherstellen, dass Java installiert ist. Der neueste Apache Tomcat 10 benötigt mindestens Java 11 oder höher. In diesem Abschnitt wirst du Java OpenJDK 21 aus dem offiziellen Ubuntu-Repository installieren.
Aktualisiere zunächst deinen Ubuntu-Paketindex mit dem unten stehenden Befehl.
sudo apt update
Installiere nun das Java OpenJDK mit dem folgenden Befehl. Bei Ubuntu 24.04 bezieht sich das „default-jdk“ auf das OpenJDK 21, die LTS-Version von Java.
sudo apt install default-jdk
Gib Y ein, um mit der Installation fortzufahren.
Nachdem die Installation abgeschlossen ist, überprüfe die Java-Version mit dem folgenden Befehl. Du solltest sehen, dass Java OpenJDK 21 auf deinem Ubuntu-Server installiert ist.
java --version
Installation von Apache Tomcat 10
Der Apache Tomcat 10 ist in der neuesten Ubuntu-Version standardmäßig im Ubuntu-Repository verfügbar. So kannst du Tomcat ganz einfach mit dem APT-Paketmanager installieren.
Überprüfe zunächst die Paketinformationen von„tomcat10“ mit dem folgenden Befehl.
sudo apt info tomcat10
Das folgende Beispiel zeigt, dass Apache Tomcat 10.1.16 im Ubuntu-Repository„universe/java“ verfügbar ist.
Installiere nun Apache Tomcat mit dem folgenden Befehl auf deinem Ubuntu-System. Mit diesem Befehl installierst du auch die Tomcat-Admin-Webanwendungen, Werkzeuge zum Anlegen von Benutzern und Beispiele für Tomcat-Webanwendungen.
sudo apt install tomcat10 tomcat10-common tomcat10-admin tomcat10-user tomcat10-examples
Gib Y ein, um die Installation zu bestätigen.
Wenn die Installation abgeschlossen ist, wird der Dienst „tomcat10“ erstellt.
Überprüfe den Status des Dienstes„tomcat10“ mit dem folgenden Befehl:
sudo systemctl is-enabled tomcat10 sudo systemctl status tomcat10
Wie du unten sehen kannst, ist der Dienst„tomcat10“ aktiviert und aktiv (läuft). Der„tomcat10„-Dienst wird beim Booten automatisch gestartet.
Führe nun den folgenden Befehl aus, um den Apache Tomcat Port 8080 zu überprüfen. Wenn der Tomcat läuft, siehst du, dass die Java-Anwendung den Port 8080 verwendet.
ss -tulpn
Rufe schließlich mit deinem Webbrowser http://192.168.5.30:8080/ auf und du wirst die Standard-Indexseite von Apache Tomcat wie folgt sehen:
Einrichten der Apache Tomcat-Authentifizierung
In diesem Abschnitt richtest du die Basisauthentifizierung ein und erlaubst den Zugriff auf den Tomcat Host Manager und Manager. Du aktivierst die Tomcat-Basisauthentifizierung, indem du die Datei „tomcat-users.xml“ bearbeitest und dann den Zugriff auf den Tomcat-Host-Manager und den Tomcat-Manager über das Paket „tomcat10-admin“ zulässt.
Öffne die Tomcat-Benutzerkonfiguration „/etc/tomcat10/tomcat-users.xml“ mit dem nano-Editor.
sudo nano /etc/tomcat10/tomcat-users.xml
Füge die folgende Konfiguration zwischen den Zeilen ‚<tomcat-users…> …. </tomcat-users>‘ ein. In diesem Beispiel erstellst du den Apache Tomcat-Benutzer„admin“ mit dem Passwort„tomcatadmin“ und mehreren Rollen, darunter „admin-gui“ und „manager-gui“.
<tomcat-users> <!-- user: admin pass: tomcatadmin --> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <role rolename="admin-gui"/> <role rolename="admin-script"/> <user username="admin" password="tomcatadmin" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/> </tomcat-users>
Öffne nun die Konfiguration für den Tomcat„host-manager“ und„manager“ mit dem unten stehenden nano-Editor-Befehl.
sudo nano /usr/share/tomcat10-admin/host-manager/META-INF/context.xml sudo nano /usr/share/tomcat10-admin/manager/META-INF/context.xml
Kommentiere die folgende Konfiguration, indem du‚<!– … –>‘. Damit erlaubst du den Fernzugriff auf den Apache Tomcat‚host-manager‚ und‚manager‚.
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
Speichere und beende die Datei.
Nach der Bearbeitung führst du den folgenden Befehl aus, um den Dienst „tomcat10“ neu zu starten und die neuen Änderungen auf deine Apache Tomcat-Installation anzuwenden.
sudo systemctl restart tomcat10
Rufe schließlich http://192.168.5.30:8080/host-manager/ auf, um auf den Apache Tomcat Virtual Host Manager und http://192.168.5.30:8080/manager/ für den Tomcat Manager zuzugreifen.
Gib den Benutzer„admin“ und das Passwort„tomcatadmin“ ein, wenn du dazu aufgefordert wirst.
Wenn die Authentifizierung erfolgreich war, solltest du die Apache Tomcat Host-Manager- und Manager-Seite wie die folgende erhalten:
Apache Tomcat Manager.
Apache Tomcat host-manager.
Nginx als Reverse Proxy einrichten
In dieser Anleitung installierst du den Webserver Nginx und konfigurierst ihn als Reverse Proxy für deine Apache Tomcat-Installation. Mit einem Reverse Proxy kannst du deine Tomcat-Anwendung einfach über deinen lokalen Domainnamen aufrufen.
Um den Nginx-Webserver auf deinem Ubuntu zu installieren, führe Folgendes aus:
sudo apt install nginx -y
Wenn die Installation abgeschlossen ist, erstelle eine neue Serverblockkonfiguration„/etc/nginx/sites-available/tomcat10„, die als Reverse Proxy für Apache Tomcat verwendet wird.
sudo nano /etc/nginx/sites-available/tomcat10
Füge die unten stehende Konfiguration hinzu und ändere deinen lokalen Domainnamen mit der Option server_name.
server { listen 80; server_name tomcat10.hwdomain.io; access_log /var/log/nginx/tomcat-access.log; error_log /var/log/nginx/tomcat-error.log; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080/; } }
Speichere und beende die Datei, wenn du fertig bist.
Führe nun den unten stehenden Befehl aus, um die „tomcat10“-Serverblockkonfiguration zu aktivieren und deine Nginx-Syntax zu testen.
sudo ln -s /etc/nginx/sites-available/tomcat10 /etc/nginx/sites-enabled/ sudo nginx -t
Wenn die Nginx-Syntax korrekt ist, siehst du die Ausgabe„syntax is ok … test is successful„.
Als Nächstes führst du den folgenden Befehl aus, um den Nginx-Dienst neu zu starten und den „tomcat10“-Serverblock anzuwenden. Überprüfe dann den Status des Nginx-Dienstes, um sicherzustellen, dass er läuft.
sudo systemctl restart nginx sudo systemctl status nginx
Die folgende Ausgabe zeigt, dass der Nginx-Webserver läuft. Und du kannst auf deine Apache Tomcat-Installation mit einem Domainnamen wie„tomcat10.hwdomain.io“ zugreifen.
Du kannst die folgende Konfiguration zur Datei „hosts“ auf deinem lokalen Rechner hinzufügen. Für Linux- oder Mac-Benutzer fügst du Folgendes in die Datei„/etc/hosts“ ein. Für Windows-Benutzer fügst du die folgende Konfiguration zur Datei„C:\Windows\System32\drivers\etc\hosts“ hinzu.
192.168.5.30 tomcat10.hwdomain.io
Besuche schließlich http://tomcat10.hwdomain.io mit deinem Webbrowser. Wenn deine Nginx-Reverse-Proxy-Installation erfolgreich war, siehst du die Apache-Tomcat-Indexseite wie die folgende:
Besuche http://tomcat10.hwdomain.io/host-manager/, um auf den Apache Tomcat Host-Manager zuzugreifen, und http://tomcat10.hwdomain.io/manager/, um auf den Apache Tomcat Manager zuzugreifen. Du wirst sehen, dass beide Anwendungen unter dem Nginx Reverse Proxy laufen.
Fazit
Herzlichen Glückwunsch! Du hast Apache Tomcat erfolgreich auf dem Ubuntu 24.04 Server installiert. Du hast Tomcat 10 mit dem Java OpenJDK 21 auf Ubuntu installiert. Außerdem hast du Nginx als Reverse Proxy für Apache Tomcat installiert und konfiguriert.