Tomcat ist eine Open-Source-Implementierung der Technologien Java Servlet, JavaServer Pages, Java Expression Language und Java WebSocket.
Dieses Tutorial behandelt die Schritte, die zum Installieren von Tomcat 9.0 unter CentOS 7 erforderlich sind.
Voraussetzungen #
Der Benutzer, als der Sie sich anmelden, muss über sudo-Berechtigungen verfügen, um Pakete installieren zu können.
Installieren Sie OpenJDK #
Tomcat 9 erfordert Java SE 8 oder höher. Wir werden OpenJDK installieren, die Open-Source-Implementierung der Java-Plattform, die die Standard-Java-Entwicklung und -Laufzeit in CentOS 7 ist.
Installieren Sie Java, indem Sie den folgenden Befehl eingeben:
sudo yum install java-1.8.0-openjdk-devel
Tomcat-Systembenutzer # erstellen
Das Ausführen von Tomcat als Root-Benutzer ist ein Sicherheitsrisiko und wird nicht als Best Practice angesehen.
Wir erstellen einen neuen Systembenutzer und eine neue Gruppe mit dem Home-Verzeichnis /opt/tomcat
das den Tomcat-Dienst ausführt:
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Tomcat herunterladen #
Wir werden die neueste Version von Tomcat 9.0.x von der Tomcat-Downloadseite herunterladen.
Zum Zeitpunkt des Schreibens ist die neueste Tomcat-Version 9.0.27
. Bevor Sie mit dem nächsten Schritt fortfahren, sollten Sie auf der Download-Seite von Tomcat 9 nachsehen, ob eine neuere Version verfügbar ist.
Navigieren Sie zu /tmp
Verzeichnis und laden Sie die Tomcat-ZIP-Datei mit dem folgenden wget-Befehl herunter:
cd /tmp
wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz
Wenn der Download abgeschlossen ist, extrahieren Sie die TAR-Datei:
tar -xf apache-tomcat-9.0.27.tar.gz
Verschieben Sie die Tomcat-Quelldateien dorthin in den Ordner /opt/tomcat
Verzeichnis:
sudo mv apache-tomcat-9.0.27 /opt/tomcat/
Tomcat 9 wird häufig 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-9.0.27 /opt/tomcat/latest
Der Tomcat-Benutzer, den wir zuvor eingerichtet haben, muss Zugriff auf das Tomcat-Installationsverzeichnis haben.
Führen Sie den folgenden Befehl aus, um den Verzeichnisbesitz auf Benutzer und Gruppe Tomcat zu ändern:
sudo chown -R tomcat: /opt/tomcat
Erstellen Sie die Skripte im bin
Verzeichnis ausführbar, indem Sie den folgenden chmod
ausgeben Befehl:
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
Erstellen Sie eine systemd-Unit-Datei #
Um Tomcat als Dienst auszuführen, ö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 wir eine neue Unit-Datei erstellt haben, indem Sie Folgendes eingeben:
sudo systemctl daemon-reload
Aktivieren und starten Sie den Tomcat-Dienst:
sudo systemctl enable tomcat
sudo systemctl start tomcat
Überprüfen Sie den Dienststatus mit dem folgenden Befehl:
sudo systemctl status tomcat
● tomcat.service - Tomcat 9 servlet container
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2018-11-15 20:47:50 UTC; 4s ago
Process: 1759 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 1767 (java)
CGroup: /system.slice/tomcat.service
Passen Sie die Firewall # an
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:
Wenn Sie Tomcat in einer Produktionsumgebung ausführen, verwenden Sie in den meisten Fällen einen Load Balancer oder Reverse Proxy. Es hat sich bewährt, den Zugriff auf Portsudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
8080
zuzulassen nur in Ihr internes Netzwerk. Konfigurieren Sie die Tomcat-Webverwaltungsschnittstelle #
An diesem Punkt ist Tomcat installiert und wir können mit einem Webbrowser auf Port 8080
darauf zugreifen , aber wir können nicht auf die Webverwaltungsschnittstelle zugreifen, da wir noch keinen Benutzer erstellt haben.
Tomcat-Benutzer und ihre Rollen sind 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 hinzuzufügen, der auf die Tomcat-Webschnittstelle (manager-gui und admin-gui) zugreifen kann, müssen Sie den Benutzer in tomcat-users.xml
definieren Datei wie unten gezeigt. Stellen Sie sicher, dass Sie den Benutzernamen und das Passwort in etwas Sichereres ändern:
<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 vom lokalen Host zugelassen wird. Wenn Sie von einer Remote-IP oder von einem anderen Ort aus auf die Weboberfläche zugreifen möchten, was nicht empfohlen wird, da dies ein Sicherheitsrisiko darstellt, können Sie die folgenden Dateien öffnen und die folgenden Änderungen vornehmen.
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>
Wenn Sie nur von einer bestimmten IP auf die Weboberfläche zugreifen müssen, 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 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
Testen Sie die Installation #
Ö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:
Das Dashboard des Tomcat-Webanwendungsmanagers ist unter http://<your_domain_or_IP_address>:8080/manager/html
verfügbar . Von hier aus können Sie Ihre Anwendungen bereitstellen, die Bereitstellung aufheben, starten, stoppen und neu laden.
Das Tomcat Virtual Host Manager-Dashboard ist unter http://<your_domain_or_IP_address>:8080/host-manager/html
verfügbar . Von hier aus können Sie virtuelle Tomcat-Hosts erstellen, löschen und verwalten.