Dieses Tutorial zeigt Ihnen, wie Sie Tomcat 8.5 auf CentOS 7 installieren. Tomcat ist eine Open-Source-Implementierung von Java Servlet, JavaServer Pages, Java Expression Language und Java WebSocket-Technologien.
Voraussetzungen #
Bevor Sie mit diesem Tutorial beginnen, stellen Sie sicher, dass Sie mit einem Benutzerkonto mit sudo-Berechtigungen oder mit dem Root-Benutzer bei Ihrem Server angemeldet sind. Es hat sich bewährt, Verwaltungsbefehle als sudo-Benutzer statt als root auszuführen. Wenn Sie keinen sudo-Benutzer auf Ihrem System haben, erstellen Sie einen, indem Sie diesen Anweisungen folgen.
Installieren Sie OpenJDK #
Tomcat 8.5 erfordert Java SE 7 oder höher. In diesem Tutorial installieren wir OpenJDK 8, die Open-Source-Implementierung der Java-Plattform, die die Standard-Java-Entwicklung und -Laufzeit in CentOS 7 ist.
Die Installation ist einfach und unkompliziert:
sudo yum install java-1.8.0-openjdk-devel
Tomcat-Systembenutzer # erstellen
Das Ausführen von Tomcat als Root-Benutzer stellt ein Sicherheitsrisiko dar und wird nicht empfohlen. Stattdessen erstellen wir 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 8.5.x von der Tomcat-Downloadseite herunterladen. Zum Zeitpunkt des Schreibens ist die neueste Version 8.5.37. Bevor Sie mit dem nächsten Schritt fortfahren, sollten Sie auf der Download-Seite nach neuen Versionen suchen.
Wechseln Sie zu /tmp
Verzeichnis und verwenden Sie wget, um die ZIP-Datei herunterzuladen:
cd /tmp
wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip
Extrahieren Sie nach Abschluss des Downloads die ZIP-Datei und verschieben Sie sie nach /opt/tomcat
Verzeichnis:
unzip apache-tomcat-*.zip
sudo mkdir -p /opt/tomcat
sudo mv apache-tomcat-8.5.37 /opt/tomcat/
Tomcat 8.5 wird regelmäßig aktualisiert. Um mehr Kontrolle über Versionen und Updates zu haben, erstellen wir einen symbolischen Link latest
die auf das Tomcat-Installationsverzeichnis zeigen:
sudo ln -s /opt/tomcat/apache-tomcat-8.5.37 /opt/tomcat/latest
Der Tomcat-Benutzer, den wir zuvor eingerichtet haben, muss Zugriff auf das Tomcat-Verzeichnis haben. Ändern Sie den Besitz des Verzeichnisses auf den Benutzer und die Gruppe Tomcat:
sudo chown -R tomcat: /opt/tomcat
Erstellen Sie die Skripte in 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, erstellen Sie eine tomcat.service
Unit-Datei in /etc/systemd/system/
Verzeichnis mit folgendem Inhalt:
[Unit]
Description=Tomcat 8.5 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
Benachrichtigen Sie systemd, dass wir eine neue Unit-Datei erstellt haben, und starten Sie den Tomcat-Dienst, indem Sie Folgendes ausführen:
sudo systemctl daemon-reload
sudo systemctl start tomcat
Überprüfen Sie den Dienststatus mit dem folgenden Befehl:
sudo systemctl status tomcat
tomcat.service - Tomcat 8.5 servlet container
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2018-03-31 16:30:48 UTC; 3s ago
Process: 23826 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 23833 (java)
CGroup: /system.slice/tomcat.service
└─23833 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/latest/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.security.egd=fi...
Wenn keine Fehler auftreten, können Sie den Tomcat-Dienst so aktivieren, dass er beim Booten automatisch gestartet wird:
sudo systemctl enable tomcat
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, öffnen Sie Port 8080
.
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. Die bewährte Vorgehensweise zum Zulassen des Zugriffs auf Portsudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
8080
nur in Ihr internes Netzwerk. Konfigurieren Sie die Tomcat-Webverwaltungsschnittstelle #
An dieser Stelle 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-Weboberfläche (manager-gui und admin-gui) zugreifen kann, müssen wir 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 Webschnittstelle 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 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 erscheint ein Bildschirm ähnlich dem folgenden:
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.