Apache Tomcat ist ein Open-Source-Anwendungsserver, der die Technologien Java Servlet, JavaServer Pages, Java Expression Language und Java WebSocket unterstützt. Es ist heute einer der am weitesten verbreiteten Anwendungs- und Webserver der Welt.
Dieses Tutorial zeigt Ihnen, wie Sie Apache Tomcat 8.5 auf Debian 9 installieren und die Tomcat-Webverwaltungsschnittstelle konfigurieren.
Voraussetzungen #
Bevor Sie mit diesem Tutorial fortfahren, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind.
Wir laden die Tomcat-Zip-Datei mit dem Dienstprogramm wget herunter und extrahieren das heruntergeladene Archiv mit unzip.
Wenn Sie diese Dienstprogramme nicht auf Ihrem System installiert haben, können Sie dies tun, indem Sie Folgendes eingeben:
sudo apt install unzip wget
Installieren Sie OpenJDK #
Tomcat 8.5 erfordert Java SE 7 oder höher. Um das standardmäßige OpenJDK-Paket aus den Debian 9-Repositories zu installieren, führen Sie den folgenden Befehl aus:
sudo apt install default-jdk
Tomcat-Benutzer # erstellen
Das Ausführen von Tomcat als Root-Benutzer stellt ein Sicherheitsrisiko dar und wird nicht empfohlen.
So erstellen Sie einen neuen Systembenutzer und eine neue Gruppe für unsere Tomcat-Instanz mit dem Home-Verzeichnis /opt/tomcat
Führen Sie den folgenden Befehl aus:
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 die ZIP-Datei herunterladen, sollten Sie auf der Download-Seite nach einer neuen Version suchen.
Wechseln Sie zu /tmp
Verzeichnis und laden Sie die ZIP-Datei mit wget
herunter :
cd /tmp
wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip
Wenn der Download abgeschlossen ist, führen Sie die folgenden Befehle aus, um die ZIP-Datei zu extrahieren und nach /opt/tomcat
zu verschieben Verzeichnis:
unzip apache-tomcat-*.zip
sudo mkdir -p /opt/tomcat
sudo mv apache-tomcat-8.5.37 /opt/tomcat/
Um mehr Kontrolle über Tomcat-Versionen und -Updates zu haben, erstellen wir einen symbolischen Link namens latest
die auf das Tomcat-Installationsverzeichnis zeigen:
sudo ln -s /opt/tomcat/apache-tomcat-8.5.37 /opt/tomcat/latest
Später, wenn Sie die Tomcat-Version aktualisieren, können Sie einfach die neuere Version entpacken und den Symlink so ändern, dass er auf die neueste Version zeigt.
Ändern Sie den Besitz von /opt/tomcat
Verzeichnis zu Benutzer und Gruppe tomcat
damit der Benutzer Zugriff auf die Tomcat-Installation hat:
sudo chown -R tomcat: /opt/tomcat
Erstellen Sie auch 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 #
Erstellen Sie einen neuen 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/default-java"
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 Status des Tomcat-Dienstes, indem Sie Folgendes eingeben:
sudo systemctl status tomcat
● tomcat.service
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2018-06-06 10:51:36 UTC; 3s ago
Process: 21187 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 21195 (java)
Tasks: 44 (limit: 4915)
CGroup: /system.slice/tomcat.service
Wenn keine Fehler auftreten, können Sie den Tomcat-Dienst so aktivieren, dass er beim Booten automatisch gestartet wird:
sudo systemctl enable tomcat
Sie können Tomcat wie jeden anderen systemd-Unit-Dienst starten, stoppen und neu starten:
sudo systemctl start tomcat
sudo systemctl stop tomcat
sudo systemctl restart tomcat
Passen Sie die Firewall # an
Wenn Ihre Firewall auf Ihrem Debian-System läuft und Sie von außerhalb Ihres lokalen Netzwerks auf die Tomcat-Schnittstelle zugreifen möchten, müssen Sie den Port 8080
öffnen :
sudo ufw allow 8080/tcp
Wenn Sie eine Tomcat-Anwendung in einer Produktionsumgebung ausführen, haben Sie höchstwahrscheinlich einen Load Balancer oder Reverse Proxy, und es ist eine bewährte Methode, den Zugriff auf Port 8080 nur auf Ihr internes Netzwerk zu beschränken. Konfigurieren Sie die Tomcat-Webverwaltungsschnittstelle #
Nachdem Tomcat nun auf Ihrem Debian-Server installiert ist, besteht der nächste Schritt darin, einen Benutzer mit Zugriff auf die Webverwaltungsschnittstelle zu erstellen.
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 vim /opt/tomcat/latest/conf/tomcat-users.xml
Wir werden unseren neuen Benutzer mit Zugriff auf die Tomcat-Weboberfläche (Manager-GUI und Admin-GUI) in der 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 erlaubt die Tomcat-Webverwaltungsschnittstelle nur den Zugriff vom localhost. Wenn Sie von einer Remote-IP oder von einem anderen Ort aus auf das Webinterface 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 32.32.32.32
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|32.32.32.32" />
</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|32.32.32.32" />
</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
Wenn die Installation erfolgreich ist, wird ein Bildschirm ähnlich dem folgenden angezeigt:
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.