GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Tomcat 9 unter Ubuntu 20.04

Dieses Tutorial beschreibt die Installation und Konfiguration von Tomcat 9 auf Ubuntu 20.04.

Apache Tomcat ist ein Open-Source-Webserver und Java-Servlet-Container. Es ist eine der beliebtesten Optionen zum Erstellen von Java-basierten Websites und Anwendungen. Tomcat ist leichtgewichtig, einfach zu verwenden und verfügt über ein robustes Ökosystem von Add-Ons.

Installieren von Java #

Für Tomcat 9 muss Java SE 8 oder höher auf dem System installiert sein. Wir installieren OpenJDK 11, die Open-Source-Implementierung der Java-Plattform.

Führen Sie die folgenden Befehle als Root oder Benutzer mit sudo-Berechtigungen oder als Root aus, um den Paketindex zu aktualisieren und das OpenJDK 11 JDK-Paket zu installieren:

sudo apt updatesudo apt install openjdk-11-jdk

Überprüfen Sie nach Abschluss der Installation die Java-Version:

java -version

Die Ausgabe sollte in etwa so aussehen:

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Erstellen eines Systembenutzers #

Das Ausführen von Tomcat unter dem Root-Benutzer ist ein Sicherheitsrisiko. Wir erstellen einen neuen Systembenutzer und eine neue Gruppe mit dem Home-Verzeichnis /opt/tomcat das wird den Tomcat-Dienst ausführen. Geben Sie dazu folgenden Befehl ein:

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

Tomcat wird heruntergeladen #

Die Tomcat-Binärdistribution kann von der Tomcat-Downloadseite heruntergeladen werden.

Zum Zeitpunkt des Schreibens ist die neueste Tomcat-Version 9.0.35 . Bevor Sie mit dem nächsten Schritt fortfahren, prüfen Sie auf der Tomcat 9-Downloadseite, ob eine neuere Version verfügbar ist.

Verwenden Sie wget um die Tomcat-Zip-Datei in /tmp herunterzuladen Verzeichnis:

VERSION=9.0.35wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp

Extrahieren Sie nach Abschluss des Downloads die tar-Datei in den Ordner /opt/tomcat Verzeichnis::

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

Tomcat wird regelmäßig mit Sicherheitspatches und neuen Funktionen aktualisiert. Um mehr Kontrolle über Versionen und Updates zu haben, erstellen wir einen symbolischen Link namens latest , das auf das Installationsverzeichnis von Tomcat zeigt:

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

Entpacken Sie später beim Upgrade von Tomcat die neuere Version und ändern Sie den Symlink so, dass er darauf verweist.

Der zuvor erstellte Systembenutzer muss Zugriff auf das Tomcat-Installationsverzeichnis haben. Ändern Sie den Besitz des Verzeichnisses auf den Benutzer und die Gruppe Tomcat:

sudo chown -R tomcat: /opt/tomcat

Die Shell-Skripte im bin von Tomcat Verzeichnis muss ausführbar sein:

sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

Diese Skripte werden verwendet, um die Tomcat-Instanz zu starten, zu stoppen und anderweitig zu verwalten.

SystemD-Unit-Datei wird erstellt #

Anstatt die Shell-Skripte zum Starten und Stoppen des Tomcat-Servers zu verwenden, richten wir ihn so ein, dass er als Dienst ausgeführt wird.

Öffnen Sie Ihren Texteditor und erstellen Sie einen tomcat.service Unit-Datei in /etc/systemd/system/ Verzeichnis:

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

Fügen Sie die folgende Konfiguration ein:

/etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
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
Ändern Sie JAVA_HOME -Variable, wenn der Pfad zu Ihrer Java-Installation anders ist.

Speichern und schließen Sie die Datei und benachrichtigen Sie Systemd, dass eine neue Unit-Datei existiert:

sudo systemctl daemon-reload

Aktivieren und starten Sie den Tomcat-Dienst:

sudo systemctl enable --now tomcat

Prüfen Sie den Dienststatus:

sudo systemctl status tomcat

Die Ausgabe sollte zeigen, dass der Tomcat-Server aktiviert ist und ausgeführt wird:

● tomcat.service - Tomcat 9 servlet container
     Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-05-25 17:58:37 UTC; 4s ago
    Process: 5342 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
   Main PID: 5362 (java)
...

Sie können Tomcat wie jeden anderen systemd-Dienst starten, stoppen und neu starten:

sudo systemctl start tomcatsudo systemctl stop tomcatsudo systemctl restart tomcat

Konfiguriere Firewall #

Wenn Ihr Server durch eine Firewall geschützt ist und Sie von außerhalb Ihres lokalen Netzwerks auf Tomcat zugreifen möchten, müssen Sie Port 8080 öffnen .

Verwenden Sie den folgenden Befehl, um den erforderlichen Port zu öffnen:

sudo ufw allow 8080/tcp
Wenn Sie Tomcat in einer Produktionsumgebung ausführen, sollten Sie im Allgemeinen einen Lastausgleichsdienst oder Reverse-Proxy verwenden. Es hat sich bewährt, den Zugriff auf Port 8080 zuzulassen nur aus Ihrem internen Netzwerk.

Konfigurieren der Tomcat-Webverwaltungsschnittstelle #

An diesem Punkt sollten Sie mit einem Webbrowser auf Port 8080 auf Tomcat zugreifen können . Auf die Webverwaltungsschnittstelle kann nicht zugegriffen werden, da wir noch keinen Benutzer erstellt haben.

Tomcat-Benutzer und -Rollen werden in der tomcat-users.xml definiert Datei. Diese Datei ist eine Vorlage mit Kommentaren und Beispielen, die zeigen, wie ein Benutzer oder eine Rolle erstellt wird.

In diesem Beispiel erstellen wir einen Benutzer mit den Rollen „admin-gui“ und „manager-gui“. Die Rolle „admin-gui“ ermöglicht dem Benutzer den Zugriff auf /host-manager/html URL und virtuelle Hosts erstellen, löschen und anderweitig verwalten. Die „manager-gui“-Rolle ermöglicht dem Benutzer das Bereitstellen und Aufheben der Bereitstellung von Webanwendungen, ohne dass der gesamte Container über /host-manager/html neu gestartet werden muss Schnittstelle.

Öffnen Sie die tomcat-users.xml Datei und erstellen Sie einen neuen Benutzer, wie unten gezeigt:

sudo nano /opt/tomcat/latest/conf/tomcat-users.xml
/opt/tomcat/latest/conf/tomcat-users.xml
<tomcat-users>
<!--
    Comments
-->
   <role rolename="admin-gui"/>
   <role rolename="manager-gui"/>
   <user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
</tomcat-users>

Stellen Sie sicher, dass Sie den Benutzernamen und das Passwort in etwas Sichereres ändern.

Standardmäßig ist die Tomcat-Webverwaltungsschnittstelle so konfiguriert, dass der Zugriff auf die Manager- und Host-Manager-Apps nur vom lokalen Host aus zulässig ist. Um von einer Remote-IP auf die Weboberfläche zugreifen zu können, müssen Sie diese Einschränkungen entfernen. Dies kann verschiedene Auswirkungen auf die Sicherheit haben und wird für Produktionssysteme nicht empfohlen.

Um den Zugriff auf die Weboberfläche von überall aus zu ermöglichen, öffnen Sie die folgenden beiden Dateien und kommentieren oder entfernen Sie die gelb markierten Zeilen.

Für die Manager-App:

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

Für die Host Manager-App:

sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
context.xml
<Context antiResourceLocking="false" privileged="true" >
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
</Context>

Wenn Sie nur von einer bestimmten IP auf das Webinterface zugreifen möchten, fügen Sie Ihre öffentliche IP zur Liste hinzu, anstatt die Blöcke zu kommentieren.

Nehmen wir an, Ihre öffentliche IP ist 41.41.41.41 und Sie möchten den Zugriff nur von dieser IP zulassen:

context.xml
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|41.41.41.41" />
</Context>

Die Liste der zulässigen IP-Adressen ist eine Liste, die durch einen vertikalen Strich | getrennt ist . Sie können einzelne IP-Adressen hinzufügen oder reguläre Ausdrücke verwenden.

Starten Sie anschließend den Tomcat-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl restart tomcat

Testen Sie die Tomcat-Installation #

Öffnen Sie Ihren Browser und geben Sie Folgendes ein:http://<your_domain_or_IP_address>:8080

Vorausgesetzt, die Installation ist erfolgreich, sollte ein Bildschirm ähnlich dem folgenden erscheinen:

Der Tomcat-Webanwendungsmanager ist verfügbar unter:http://<your_domain_or_IP_address>:8080/manager/html .

Tomcat Virtual Host Manager ist verfügbar unter:http://<your_domain_or_IP_address>:8080/host-manager/html .


Ubuntu
  1. So installieren Sie Tomcat 9 auf CentOS 7

  2. So installieren Sie Docker unter Ubuntu 18.04

  3. So installieren Sie Tomcat unter Ubuntu 18.04

  4. So installieren Sie Tomcat 8 auf Ubuntu 14.04

  5. So installieren Sie Tomcat unter Ubuntu 18.04

So installieren Sie Apache unter Ubuntu 20.04

So installieren Sie Tomcat 8.5 auf Ubuntu 18.04

So installieren Sie Tomcat 9 unter Ubuntu 18.04

So installieren Sie Apache Tomcat 9 auf Ubuntu 18.04 LTS

So installieren Sie Apache Tomcat unter Ubuntu 20.04 LTS

So installieren Sie Tomcat unter Ubuntu 20.04