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

Repo aktualisieren

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.

java installieren

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

check java

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.

info tomcat10 Paket

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.

Installation des Apache Tomcat

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„tomcat10aktiviert und aktiv (läuft). Der„tomcat10„-Dienst wird beim Booten automatisch gestartet.

Tomcat-Dienst prüfen

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

Tomcat-Port prüfen

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:

Katerindex

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.

Anmeldung beim Apache Tomcat

Wenn die Authentifizierung erfolgreich war, solltest du die Apache Tomcat Host-Manager- und Manager-Seite wie die folgende erhalten:

Apache Tomcat Manager.

Kater-Manager

Apache Tomcat host-manager.

Kater-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

nginx installieren

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„.

nginx reverse proxy tomcat

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.

nginx Dienst prüfen

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:

Katerindex

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.

Das könnte dich auch interessieren …