So installierst du Apache Tomcat unter Ubuntu 22.04

Apache Tomcat oder „Tomcat“ ist ein freier und quelloffener Java-Servlet-Container für Java-Code und -Anwendungen. Er wurde ursprünglich von Sun Microsystem entwickelt und später der Apache Software Foundation zur Verfügung gestellt und unter der Apache License v2 verbreitet. Apache Tomcat bietet eine „reine Java“-HTTP-Serverumgebung, in der Java-Code ausgeführt werden kann. Außerdem implementiert er die Technologien JavaServer Pages, Java Expression Language und WebSocket.

Tomcat ist eine der beliebtesten Java-Servlet-Implementierungen. Er unterstützt SSL zur Sicherung sensibler Daten, z. B. zur Authentifizierung. Außerdem ist es leichtgewichtig in Bezug auf Server-Ressourcen und plattformübergreifend, d.h. es kann auf Unix-ähnlichen Betriebssystemen, Windows und macOS installiert werden.

In diesem Tutorial zeigen wir dir Schritt für Schritt, wie du den Apache Tomcat Java Server auf einem Ubuntu 22.04 Server installierst. In diesem Beitrag zeigen wir dir zwei verschiedene Methoden zur Installation von Apache Tomcat auf dem Ubuntu-System und wie du Apache2 als Reverse Proxy für die Apache Tomcat-Anwendung einrichtest.

Voraussetzungen

Bevor du mit diesem Lernprogramm beginnst, musst du die folgenden Voraussetzungen erfüllen:

  • Einen Ubuntu 22.04 Server
  • Einen Root-Benutzer oder einen Nicht-Root-Benutzer mit sudo/root/administrator-Rechten.

Installation von Java OpenJDK

Der Apache Tomcat ist eine Java-basierte Anwendung. In diesem Abschnitt wirst du das Java OpenJDK-Paket auf dem Ubuntu-Server installieren, bevor du mit der Installation des Apache Tomcat beginnst. Das Standard-Repository von Ubuntu enthält das Java OpenJDK v11, das für die neueste Version von Apache Tomcat geeignet ist, sowohl für Tomcat v9 als auch für Tomcat v10.

Bevor du Pakete installierst, führe den folgenden apt-Befehl aus, um dein Ubuntu-Repository zu aktualisieren.

sudo apt update

Installiere nun das Java OpenJDK mit dem folgenden Befehl. Mit diesem Befehl wird die Standardversion von OpenJDK aus dem Ubuntu-Repository installiert, nämlich OpenJDK v11. Gib nun Y ein, um die Installation zu bestätigen, und drücke ENTER, damit die OpenJDK-Installation beginnt.

sudo apt install default-jdk

java installieren

Nachdem die OpenJDK-Installation abgeschlossen ist, führe den unten stehenden Java-Befehl aus, um die Java OpenJDK-Version zu überprüfen und zu verifizieren. Du solltest die Ausgabe erhalten, dass OpenJDK v11 auf deinem Ubuntu-Rechner installiert ist.

java -version

Java-Version prüfen

Installation von Apache Tomcat

Auf Ubuntu-Systemen kann der Apache Tomcat auf zwei verschiedene Arten installiert werden:

  • Aus dem Ubuntu APT-Repository: Die neueste Version von Ubuntu 22.04 enthält das Apache Tomcat-Paket Version 9. Dies ist also geeignet, wenn du nur Apache Tomcat für deine Anwendung brauchst, aber keine bestimmte Version von Tomcat.
  • Aus der Binärdistribution: Auf diese Weise installierst du den Apache Tomcat manuell auf deinem Ubuntu-System, was sich besser eignet, wenn du eine bestimmte Version von Apache Tomcat installieren möchtest. Du kannst eine bestimmte Version von Apache Tomcat herunterladen, die du brauchst. Dann installierst du ihn Schritt für Schritt manuell auf deinem System.

Aus dem Ubuntu APT-Repository

Bevor du den Apache Tomcat installierst, führe den folgenden Befehl aus, um die verfügbaren Pakete mit dem Namen „tomcat“ zu prüfen und zu verifizieren. Du solltest sehen, dass das Ubuntu 22.04 Repository den Apache Tomcat v9 bereitstellt. Das„tomcat9“ ist das Hauptpaket von Apache Tomcat, das„tomcat9-admin“ ist ein Paket, das administrative Webanwendungen für Apache Tomcat enthält, und das„tomcat9-examples“ ist ein Beispiel für Apache Tomcat-Anwendungen, vom einfachen „hello world“ bis zur API.

sudo apt search tomcat

apache tomcat Paket suchen

Um Details über das Apache Tomcat 9 Paket zu erhalten, führe den folgenden Befehl aus. Wie du siehst, ist der Apache Tomcat 9 im Ubuntu-Repository „universe/java“ verfügbar und wird von den Ubuntu-Entwicklern gepflegt.

sudo apt info tomcat9

apache tomcat9 Paketinfo prüfen

Führe nun den folgenden apt-Befehl aus, um die Apache Tomcat 9-Pakete auf deinem System zu installieren. Gib Y ein, um die Installation zu bestätigen und drücke ENTER, damit die Installation beginnt.

sudo apt install tomcat9 tomcat9-admin tomcat9-examples

apache tomcat9 installieren

Nachdem die Installation von Apache Tomcat abgeschlossen ist, führe den folgenden Befehl aus, um den Apache Tomcat-Dienst„tomcat9“ zu überprüfen und zu verifizieren. Du solltest sehen, dass der Dienst„tomcat9“ aktiviert ist und beim Systemstart automatisch ausgeführt wird. Und der aktuelle Status des Dienstes„tomcat9“ ist „running“.

sudo systemctl is-enabled tomcat9
sudo systemctl status tomcat9

Apache Tomcat9 Dienst überprüfen

Wenn du den Apache Tomcat aus dem Ubuntu APT Repository installierst, solltest du einige wichtige Konfigurationen für den Apache Tomcat kennen:

  • /etc/default/tomcat9 – Die Standardkonfiguration zur Verwaltung von Werten wie„JAVA_OPTS„,„JSP_COMPILER“ und vielen anderen, die mit dem Start des Apache Tomcat zusammenhängen.
  • /etc/tomcat9/ – Das Hauptverzeichnis für die Konfigurationsdateien von Apache Tomcat.
  • /var/lib/tomcat9 – Das Datenverzeichnis für Apachet Tomcat, das z. B. die Standard-„webapps“ für Apache Tomcat enthält.
  • /usr/share/tomcat9-admin/ – Das Hauptverzeichnis für die Webanwendung Tomcat admin.

Um die Installation von Apache Tomcat zu überprüfen, öffne den Webbrowser und rufe die IP-Adresse des Servers mit dem Port 8080 (d.h. http://192. 168.5.75:8080/) auf. Dann solltest du die Standardseite index.html deiner Apache Tomcat-Installation sehen.

Standard-Tomcat9-Index

Von der Binärverteilung

Wenn du zum Beispiel einen bestimmten Apache Tomcat für deine Anwendung benötigst, musst du ihn manuell aus der Binärdistribution installieren. Im folgenden Beispiel installierst du die neueste Version von Apache Tomcat v10 auf dem Ubuntu-Server manuell über die Binary Distribution.

Um den Apache Tomcat manuell mit der Binärdistribution zu installieren, solltest du die folgenden Schritte befolgen:

Zuerst musst du einen neuen Benutzer namens„tomcat“ auf deinem System anlegen. Führe den folgenden Befehl aus.

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

Lade nun die Apache Tomcat Binary Distribution mit dem unten stehenden Befehl herunter. In diesem Beispiel wirst du den Apache Tomcat 10.0.22 installieren.

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

Als Nächstes führst du den folgenden Befehl aus, um ein neues Installationsverzeichnis für Apache Tomcat „/opt/tomcat“ zu erstellen und entpackst das Binärpaket von Apache Tomcat in dieses Verzeichnis.

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

Führe den folgenden Befehl aus, um einen neuen Symlink des Apache Tomcat-Verzeichnisses zu „/opt/tomcat/latest“ zu erstellen. Dadurch wird dein Apache-Installationsverzeichnis einfacher, das ist das Verzeichnis„/opt/tomcat/latest„.

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

Als Nächstes änderst du die Eigentümerschaft des Hauptverzeichnisses der Apache Tomcat-Installation„/opt/tomcat“ auf den richtigen Benutzer und die richtige Gruppe namens„tomcat„.

sudo chown -R tomcat:tomcat /opt/tomcat

Damit hast du die grundlegende Installation von Apache Tomcat mit der Binärverteilung abgeschlossen.

Jetzt musst du eine neue systemd-Dienstdatei erstellen, um den Apache Tomcat als systemd-Dienst einzurichten. Das erleichtert dir die Verwaltung des Apache Tomcat-Prozesses.

Um den Apache Tomcat als systemd-Dienst einzurichten, musst du einen neuen Systemdienst erstellen. Führe den folgenden Befehl aus, um ihn zu erstellen.

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

Füge die folgende Konfiguration in die Datei ein.

[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 und schließe die Datei, wenn du fertig bist.

Als Nächstes lädst du den systemd manager neu, um die neuen Änderungen im systemd mit dem unten stehenden Befehl anzuwenden.

sudo systemctl daemon-reload

Jetzt kannst du den Apache Tomcat-Dienst mit dem unten stehenden Befehl starten und aktivieren. Der Apache-Tomcat-Dienst ist aktiviert und läuft jetzt.

sudo systemctl enable tomcat
sudo systemctl start tomcat

Führe den folgenden Befehl aus, um den Apache Tomcat-Dienst zu überprüfen und zu bestätigen. Du solltest sehen, dass der Apache Tomcat-Dienst läuft.

sudo systemctl status tomcat

Tomcat-Dienst prüfen

Öffne deinen Webbrowser und rufe die IP-Adresse deines Servers auf, gefolgt von dem Standard-Apache-Tomcat-Port„8080“ (d.h. http://192.169.5.75:8080/). Nun solltest du die Standard-Indexseite deiner Apache Tomcat-Installation sehen.

tomcat index 10

Web Management Interface konfigurieren

In diesem Abschnitt richtest du die Authentifizierung für die Apache Tomcat-Webadministrations- und Managementschnittstelle ein. Du richtest über die Konfigurationsdatei „tomcat-users.xml“, die im Apache Tomcat-Verzeichnis „conf“ zu finden ist, einen Admin-Benutzer für die Apache Tomcat-Verwaltung ein.

Wenn du den Apache Tomcat über das Ubuntu APT Repository installiert hast, bearbeite die Konfigurationsdatei „/etc/tomcat9/tomcat-users.xml“ mit dem folgenden Befehl.

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

Wenn du den Apache Tomcat über die Binary Distribution installiert hast, musst du die Konfigurationsdatei„/opt/tomcat/latest/tomcat-users.xml“ mit dem folgenden Befehl bearbeiten.

sudo nano /opt/tomcat/latest/tomcat-users.xml

Füge die folgende Konfiguration in den Abschnitt„<tomcat-users>…..</tomcat-users>“ ein. Achte darauf, dass du den Benutzernamen„admin“ und das Passwort„tomcatadmin“ ä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 schließe die Datei, wenn du fertig bist.

Als nächstes bearbeitest du die Konfigurationsdatei „context.xml“ in den beiden Tomcat-Verzeichnissen„manager“ und„host-manager„.

Wenn du Apache Tomcat über das Ubuntu APT Repository installiert hast, führe den folgenden Befehl aus.

sudo nano /usr/share/tomcat9-admin/host-manager/META-INF/context.xml
sudo nano /usr/share/tomcat9-admin/manager/META-INF/context.xml

Wenn du Apache Tomcat über die Binary Distribution installiert hast, führe den folgenden Befehl aus.

sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
sudo nano /opt/tomcat/latest/webapps/manager/META-INF/context.xml

Jetzt hast du zwei verschiedene Möglichkeiten, den Tomcat Manager und den Host-Manager einzurichten:

Um den Apache Tomcat-Manager und den Host-Manager für die Öffentlichkeit zugänglich zu machen, verwende die folgende Konfiguration. Füge einen Kommentar in die Konfiguration ein: „<Valve className=“org.apache.catalina.valves.RemoteAddrValve“„.

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

Wenn du jedoch den Apache Tomcat Manager und den Host-Manager für eine bestimmte Client-IP-Adresse verfügbar machen willst, kannst du die folgende Konfiguration verwenden.

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

Speichere und schließe die Datei, wenn du fertig bist.

Zum Schluss führst du den folgenden Befehl aus, um den Apache Tomcat-Dienst neu zu starten und die neuen Änderungen in den Tomcat-Konfigurationsdateien zu übernehmen.

Für Apache Tomcat, der über das Ubuntu APT Repository installiert wurde, heißt die Dienstdatei„tomcat9„.

sudo systemctl restart tomcat9

Für Apache Tomcat, der über die Binary Distribution installiert wurde, heißt der Dienst, den du gerade erstellt hast,„tomcat„.

sudo systemctl restart tomcat

Jetzt kannst du den Apache Tomcat Web Application Manager über den URL-Pfad„/manager“ (d.h.: http://192.168.5.75:8080/manager/) aufrufen und der Host-Manager ist über die Pfad-URL„/host-manager“ (d.h.: http://192.168.5.75:8080/host-manager) erreichbar. Wenn du versuchst, dich beim Tomcat-Manager und Host-Manager anzumelden, wirst du nach dem Tomcat-Admin-Benutzer und dem Passwort gefragt, die du in der Konfigurationsdatei„tomcat-users.xml“ festgelegt hast.

Unten siehst du einen Screenshot des Apache Tomcat Web Application Managers.

tomcat web application manager

Und unten siehst du einen Screenshot des Apache Tomcat Host Managers.

Tomcat Virtual Host Manager

Einrichten des Apache Webservers als Reverse Proxy

An dieser Stelle hast du die Installation von Apache Tomcat abgeschlossen. Im nächsten Schritt erfährst du, wie du den Apache2 Webserver als Reverse Proxy für deine Apache Tomcat Anwendung einrichtest. Dazu musst du den Apache2-Webserver installieren, neue virtuelle Hosts einrichten und einige Apache2-Module aktivieren.

Führe den folgenden apt-Befehl aus, um den Apache2-Webserver auf deinem Ubuntu-System zu installieren. Gib Y ein, um die Installation zu bestätigen, und drücke ENTER, damit die Installation beginnt.

sudo apt install apache2

apache2 installieren

Nachdem die Apache2-Installation abgeschlossen ist, führe den folgenden Befehl aus, um die Apache-Module„proxy“ und„proxy_http“ zu aktivieren. Diese Module werden für den Reverse Proxy für Apache Tomcat-Anwendungen verwendet.

sudo a2enmod proxy proxy_http

Als Nächstes erstellst du mit dem folgenden Befehl eine neue virtuelle Hostkonfiguration„/etc/apache2/sites-available/tomcat.conf„.

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

Füge die folgende Konfiguration in die Datei ein. In dieser Demo wirst du den Reverse Proxy für die Apache Tomcat Standard-Indexseite und die Tomcat-Anwendung „examples“ einrichten. Wenn du die Domain „hwdomain.io“ besuchst, siehst du die Standard-Indexseite von Apache Tomcat. Und wenn du „hwdomain.io/examples/“ besuchst, siehst du die Tomcat-Anwendungsbeispiele.

<VirtualHost *:80>
    ServerName hwdomain.io
ProxyRequests On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

ProxyPass /examples http://localhost:8080/examples/
ProxyPassReverse /examples http://localhost:8080/examples/

<Location "/">
Order allow,deny
Allow from all
</Location>

<Location "/examples">
Order allow,deny
Allow from all
</Location>

</VirtualHost>

Speichere und schließe die Datei, wenn du fertig bist.

Führe nun den folgenden Befehl aus, um die Konfiguration des virtuellen Hosts„tomcat.conf“ zu aktivieren. Überprüfe und verifiziere dann deine Apache2-Konfiguration. Du solltest eine Meldung wie„Syntax OK“ erhalten.

sudo a2ensite tomcat.conf
sudo apachectl configtest

Starten Sie schließlich den Apache2-Dienst neu, um die neuen Änderungen an der Konfiguration des virtuellen Hosts zu übernehmen.

sudo systemctl restart apache2

Gehe nun zurück zu deinem Webbrowser und rufe den Domainnamen deiner Apache Tomcat-Installation auf (z.B.: http:hwdomain.io). Du solltest nun die Standard-Indexseite des Apache Tomcat sehen.

Tomcat Reverse Proxy

Um auf die Tomcat-Anwendung„examples“ zuzugreifen, fügst du einfach den URL-Pfad„/examples“ hinzu (z.B.: http://hwdomain.io/examples/). So solltest du die Tomcat-Anwendung „examples“ erhalten.

Tomcat-Beispiele, die auf einem Apache Reverse Proxy laufen

Wenn du dich in einer lokalen Umgebung befindest, kannst du einfach die Datei„/etc/hosts“ auf deinem Computer bearbeiten und die IP-Adresse deines Servers und den Domänennamen festlegen.

Fazit

Herzlichen Glückwunsch! Du hast die Installation des Apache Tomcat auf dem Ubuntu 22.04 Rechner erfolgreich abgeschlossen. Du hast zwei verschiedene Methoden für die Installation des Apache Tomcat kennengelernt: über das Ubuntu APT Repository und über die Binmary Distribution von Hand. Außerdem hast du gelernt, wie du Apache Tomcat-Benutzer für den Tomcat Web Application Manager und den Host Manager einrichtest. Schließlich hast du auch gelernt, wie du den Apache2 Webserver als Reverse Proxy für deine Apache Tomcat-Anwendungen einrichtest.

Das könnte dich auch interessieren …