GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Tomcat 9 auf CentOS 8

Apache Tomcat ist eine Open-Source-Implementierung der Technologien Java Servlet, JavaServer Pages, Java Expression Language und Java WebSocket. Es ist heute einer der am weitesten verbreiteten Anwendungs- und Webserver der Welt. Tomcat ist einfach zu bedienen und verfügt über ein robustes Ökosystem von Add-Ons.

Dieses Tutorial erklärt, wie man Tomcat 9.0 auf CentOS 8 installiert.

Installieren von Java #

Tomcat 9 erfordert Java SE 8 oder höher. Wir werden OpenJDK 11 installieren, die Open-Source-Implementierung der Java-Plattform.

Führen Sie den folgenden Befehl als Root oder Benutzer mit sudo-Berechtigungen aus, um Java zu installieren:

sudo dnf install java-11-openjdk-devel

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

java -version

Die Ausgabe sollte in etwa so aussehen:

openjdk version "11.0.5" 2019-10-15 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, 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.30 . Bevor Sie mit dem nächsten Schritt fortfahren, prüfen Sie auf der Tomcat 9-Downloadseite, ob eine neuere Version verfügbar ist.

Laden Sie die Tomcat-Zip-Datei mit wget herunter zu /tmp Verzeichnis:

VERSION=9.0.30wget 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 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

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

Erstellen Sie die Shell-Skripte im bin Verzeichnis ausführbar:

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

Diese Skripte werden verwendet, um Tomcat zu starten und zu stoppen.

Erstellen einer Systemd-Unit-Datei #

Anstatt den Tomcat-Server manuell zu starten und zu stoppen, 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 den folgenden Inhalt 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/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

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

Speichern und schließen Sie die Datei.

Benachrichtigen Sie systemd, dass eine neue Dienstdatei existiert, indem Sie Folgendes eingeben:

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: disabled)
   Active: active (running) since Wed 2020-01-15 20:38:07 UTC; 30s ago
  Process: 3957 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
  ...

Konfiguriere Firewall #

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

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

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcpsudo firewall-cmd --reload
Wenn Sie Tomcat in einer Produktionsumgebung ausführen, sollten Sie in der Regel einen Load Balancer 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.

Wenn Sie die Datei öffnen, werden Sie feststellen, dass sie mit Kommentaren und Beispielen gefüllt ist, die beschreiben, wie die Datei konfiguriert wird.

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

Um einen neuen Benutzer zu erstellen, der auf die Tomcat-Weboberfläche (manager-gui und admin-gui) zugreifen kann, bearbeiten Sie die Datei wie unten gezeigt. Stellen Sie sicher, dass Sie den Benutzernamen und das Passwort in etwas Sichereres ändern:

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

Standardmäßig ist die Tomcat-Webverwaltungsschnittstelle so konfiguriert, dass der Zugriff nur von localhost zugelassen wird.

Wenn Sie von überall auf die Weboberfläche zugreifen müssen, öffnen Sie die folgenden Dateien und kommentieren oder entfernen Sie die gelb markierten Zeilen:

/opt/tomcat/latest/webapps/manager/META-INF/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>
/opt/tomcat/latest/webapps/host-manager/META-INF/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>

Bitte beachten Sie, dass das Zulassen des Zugriffs von überall aus nicht empfohlen wird, da dies ein Sicherheitsrisiko darstellt.

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:

/opt/tomcat/latest/webapps/manager/META-INF/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>
/opt/tomcat/latest/webapps/host-manager/META-INF/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

Testinstallation #

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

Nach erfolgreicher Installation sollte ein Bildschirm ähnlich dem folgenden erscheinen:

Mit dem Dashboard des Tomcat-Webanwendungsmanagers können Sie Ihre Anwendungen bereitstellen, die Bereitstellung aufheben, starten, stoppen und neu laden. Sie ist verfügbar unter:http://<your_domain_or_IP_address>:8080/manager/html .

Mit dem Tomcat Virtual Host Manager-Dashboard können Sie virtuelle Tomcat-Hosts erstellen, löschen und verwalten. Sie ist verfügbar unter:http://<your_domain_or_IP_address>:8080/host-manager/html .


Cent OS
  1. So installieren Sie Java unter CentOS 8

  2. So installieren Sie Apache Tomcat 8 unter CentOS

  3. So installieren Sie GlassFish unter CentOS 7

  4. So installieren Sie Apache Tomcat unter CentOS 7

  5. Wie installiere ich Tomcat 7 auf Centos?

So installieren Sie Tomcat unter CentOS

So installieren Sie Tomcat 8 unter CentOS 7 (mehrere Instanzen)

So installieren Sie GlassFish unter CentOS 8

So installieren Sie Java JDK 8 unter CentOS 6

So installieren Sie Java JDK 8 unter CentOS 7

So installieren Sie Cassandra unter CentOS 7