Wie man Apache Tomcat 10 mit Nginx Reverse Proxy unter Debian 12 installiert

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.

In dieser Anleitung zeigen wir dir, wie du Apache Tomcat 10 auf dem Debian 12 Server installierst. Außerdem erfährst du, wie du Nginx als Reverse Proxy für Apache Tomcat einrichtest.

Voraussetzungen

Um loszulegen, stelle sicher, dass du Folgendes hast:

  • Einen Debian 12 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.

Installation von Java OpenJDK

Der Apache Tomcat ist hauptsächlich in Java geschrieben. Bevor du ihn installierst, musst du Java auf deinem System installieren. In diesem Beispiel wirst du Java OpenJDK 17 installieren, das standardmäßig im Debian-Repository verfügbar ist.

Bevor du mit der Installation von Java beginnst, aktualisiere dein Debian-Repository mit dem unten stehenden Befehl.

sudo apt update

Repo aktualisieren

Installiere nun das Java OpenJDK-Paket auf deinem Debian-Server mit dem folgenden Befehl. Das Paket default-jdk bezieht sich auf Java OpenJDK 17, die LTS-Version von Java.

sudo apt install default-jdk

Gib y ein, um die Installation zu bestätigen.

java installieren

Nachdem du Java installiert hast, führe den folgenden Befehl aus, um deine Java-Version zu überprüfen. Du wirst sehen, dass Java OpenJDK 17 installiert ist.

java --version

check java

Installation von Apache Tomcat über das Repository

Das aktuelle Debian 12 Repository enthält standardmäßig Apache Tomcat 10. Wenn du Apache Tomcat über die APT installieren musst, ist diese Methode für dich geeignet.

Überprüfe zunächst das Paket tomcat10 mit dem unten stehenden Befehl.

sudo apt info tomcat10

In der folgenden Ausgabe kannst du sehen, dass Apache Tomcat 10 im Hauptdebian-Repository im Abschnitt java verfügbar ist.

Tomcat10 prüfen

Wenn du Tomcat über die APT installieren möchtest, führe den folgenden Befehl auf deinem System aus. Gib y ein, um die Installation zu bestätigen.

sudo apt install tomcat10 tomcat10-common tomcat10-admin tomcat10-user tomcat10-examples

Tomcat10 installieren

Sobald die Installation abgeschlossen ist, sollte der tomcat10-Dienst laufen. Überprüfe ihn mit dem unten stehenden Befehl.

sudo systemctl is-enabled tomcat10
sudo systemctl status tomcat10

Wenn der tomcat10-Dienst läuft, solltest du die folgende Ausgabe erhalten:

Katerstatus

Öffne schließlich deinen Webbrowser und rufe die IP-Adresse des Servers mit dem Standard-Tomcat-Port 8080 http://192.168.5.15:8080/ auf. Wenn die Installation erfolgreich war, solltest du die Standard-Indexseite von Apache Tomcat 10 erhalten.

Katerindex

Tomcat per Binärdatei installieren

Wenn du das neueste Paket von Apache Tomcat installieren möchtest, kannst du es über das Binärpaket installieren. In diesem Abschnitt erfährst du, wie du das auf deinem Debian-Server machst.

Erstelle zunächst einen neuen Systembenutzer tomcat mit dem unten stehenden Befehl.

sudo useradd -m -u -d /opt/tomcat -s /usr/sbin/nologin tomcat

Besuche die Apache Tomcat Downloadseite und überprüfe die neueste Version von Tomcat. Führe dann den unten stehenden Befehl aus, um die neueste Apache Tomcat-Version herunterzuladen.

export VERSION=10.1.19
wget https://www-eu.apache.org/dist/tomcat/tomcat-10/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz

Nachdem du sie heruntergeladen hast, führe den folgenden Befehl aus, um ein neues Apache Tomcat-Installationsverzeichnis /opt/tomcat zu erstellen und entpacke das Tomcat-Binärpaket in dieses Verzeichnis.

mkdir -p /opt/tomcat
sudo tar -xf apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat

Erstelle nun einen neuen Symlink vom entpackten Tomcat-Verzeichnis zu /opt/tomcat/latest. Dann änderst du die Eigentümerschaft des Verzeichnisses /opt/tomcat auf den Benutzer tomcat.

sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest
sudo chown -R tomcat:tomcat /opt/tomcat

Als nächstes erstellst du mit dem Editor nano eine neue systemd-Dienstdatei /etc/systemd/system/tomcat.service.

sudo nano /etc/systemd/system/tomcat.service

Füge die unten stehende Konfiguration ein, um die Dienstdatei für den Apache Tomcat einzurichten.

[Unit]
Description=Tomcat 10 servlet container
After=network.target
[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Speichere die Datei und beende den Editor.

Führe den unten stehenden Befehl aus, um den systemd Manager neu zu laden, und starte und aktiviere den Tomcat-Dienst.

sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat

Tomcat einrichten

Sobald er gestartet ist, überprüfe den Tomcat-Dienst mit dem unten stehenden Befehl. Vergewissere dich, dass dein Tomcat-Dienst wie folgt läuft.

sudo systemctl status tomcat

Tomcat überprüfen

Öffne schließlich deinen Webbrowser und rufe http://192.168.5.15:8080/ auf. Wenn alles gut läuft, solltest du die Apache Tomcat-Indexseite sehen.

Katerindex

Tomcat Administrator erstellen

Jetzt hast du Apache Tomcat auf deinem Debian-Server installiert. Im nächsten Schritt richtest du die Authentifizierung für Apache Tomcat ein und aktivierst den Tomcat Manager und den Host-Manager.

Um zu beginnen, bearbeitest du die Tomcat-Konfigurationsdatei /etc/tomcat10/tomcat-users.xml mit dem folgenden nano-Editor.

sudo nano /etc/tomcat10/tomcat-users.xml

Füge die folgenden Zeilen zwischen dem Abschnitt„tomcat-users“ ein. Achte darauf, dass du den Standardbenutzernamen admin und das Passwort tomcatadmin durch deine Anmeldedaten änderst.

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

Speichere und beende die Datei.

Öffne nun die Konfigurationsdatei für den Tomcat-Manager und den Host-Manager mit dem nano-Editor.

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 Zeile ‚<Valve className=“org.apache.catalina.valves.RemoteAddrValve“‚, um den Zugriff auf den Tomcat-Manager und den Host-Manager zu ermöglichen. Wenn du ‚<!– … –>‘ hinzufügst, wird die Konfiguration deaktiviert oder kommentiert.

<!--
 <Valve className="org.apache.catalina.valves.RemoteAddrValve"
 allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->

Speichere die Datei und beende den Editor.

Starte dann den Tomcat-Dienst mit dem unten stehenden Befehl neu, um die neue Tomcat-Konfiguration anzuwenden.

sudo systemctl restart tomcat

Rufe schließlich http://192.168.5.15:8080/manager auf, um auf den Tomcat-Manager zuzugreifen, und http://192.168.5.15:8080/host-manager, um auf den Tomcat-Hostmanager zuzugreifen. Gib deinen Admin-Benutzer und dein Passwort ein, wenn du dazu aufgefordert wirst, und klicke auf Anmelden.

Tomcat-Anmeldung

Wenn du erfolgreich warst, solltest du das Dashboard des Apache Tomcat-Managers sehen.

Kater-Manager

Der Tomcat-Host-Manager sieht folgendermaßen aus:

Tomcat Host Manager

Nginx als Reverse Proxy konfigurieren

In dieser Anleitung wirst du Apache Tomcat mit Nginx als Reverse Proxy betreiben. In diesem Abschnitt installierst du Nginx und richtest eine Serverblockkonfiguration als Reverse Proxy für Tomcat ein, der auf Port 8080 läuft.

Führe den folgenden Befehl aus, um Nginx auf deinem System zu installieren. Gib y ein, um die Installation zu bestätigen.

sudo apt install nginx

nginx installieren

Sobald die Installation abgeschlossen ist, erstelle mit dem Editor nano eine neue Serverblockkonfiguration /etc/nginx/sites-available/tomcat.conf.

sudo nano /etc/nginx/sites-available/tomcat.conf

Füge die folgende Konfiguration hinzu, um Nginx als Reverse Proxy für Apache Tomcat einzurichten.

server {
listen 80;
server_name tomcat.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.

Aktiviere nun die Serverblock-Konfiguration und überprüfe die Nginx-Syntax. Wenn alles gut läuft, solltest du eine Ausgabe wie„Test ist erfolgreich – Syntax ist ok“ erhalten.

sudo ln -s /etc/nginx/sites-available/tomcat.conf /etc/nginx/sites-enabled/
sudo nginx -t

nginx-Einrichtung

Starte als Nächstes den Nginx-Dienst neu, um die Änderungen zu übernehmen und um sicherzustellen, dass der Dienst läuft.

sudo systemctl restart nginx
sudo systemctl status nginx

Wenn Nginx läuft, solltest du die folgende Ausgabe erhalten:

nginx verifizieren

Gehe schließlich zurück zu deinem Webbrowser und besuche http://tomcat.hwdomain.io/. Du solltest die Standard-Indexseite von Apache Tomcat sehen.

tomcat nginx reverse proxy

Fazit

Herzlichen Glückwunsch! Du hast nun Apache Tomcat 10 auf einem Debian 12 Server installiert. Du hast zwei Methoden zur Installation von Apache Tomcat kennengelernt: über das APT-Repository und manuell über ein Binärpaket. Schließlich hast du auch gelernt, wie du Nginx als Reverse Proxy für deine Tomcat-Installation einrichtest.

Das könnte dich auch interessieren …