In diesem Tutorial erfahren Sie, wie Sie den Apache Tomcat 8-Anwendungscontainer auf RHEL 8 / CentOS 8 installieren. Wir verwenden das ZIP-Paket, das von der Apache Tomcat-Website heruntergeladen werden kann. Da dieses Paket das Einrichten der Umgebung nicht übernimmt, erstellen wir es über die Befehlszeile.
In diesem Tutorial lernen Sie:
- So installieren Sie Apache Tomcat aus einer ZIP-Datei
- So erstellen Sie die Umgebung für den Tomcat-Server von der Befehlszeile aus
- So fügen Sie eine grundlegende Servicedatei zu systemd hinzu
- So aktivieren Sie den Autostart, starten und stoppen Sie den Tomcat-Server
- So prüfen Sie, ob Tomcat erreichbar ist
Beispielseite, die von Apache Tomcat bereitgestellt wird.
Softwareanforderungen und verwendete Konventionen
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | RHEL 8 / CentOS 8 |
Software | Apache Tomcat 8 |
Andere | Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl. |
Konventionen | # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden |
Schritt-für-Schritt-Anleitung zur Installation von Apache Tomcat unter Linux Redhat 8
Wir werden einen Tomcat-Server nicht von einem rpm
installieren Paket, sondern ein zip
Datei, die wir von der offiziellen Website herunterladen werden. Daher müssen der Benutzer, der den Server ausführen wird, Dateisystempfade und Rechte manuell festgelegt werden. Während der Installation von rpm
ist ein viel bequemerer Weg, es kann Situationen geben, in denen dies keine Option ist.
Das trivialste Beispiel wäre, dass die rpm
Paket nicht verfügbar ist, eine andere könnte sein, dass die Anwendung, die im Tomcat-Container ausgeführt wird, eine exakte Version von Tomcat benötigt, und indem der Paketmanager aus der Installation ausgeschlossen wird, wird sichergestellt, dass Systemaktualisierungen den Tomcat-Server unberührt lassen. Natürlich ist dies aus Sicherheitssicht möglicherweise nicht optimal.
Damit diese Installation funktioniert, muss Java 1.8 auf dem Zielsystem installiert sein.
- Zuerst laden wir die
zip
herunter und extrahieren sie Paket. Indem wir die Download-Site von Tomcat 8 durchsuchen, können wir den benötigten Link kopieren undwget
verwenden auf dem Zielsystem. Wir verwenden/opt
als Basispfad der Installation, da dies ein üblicher Ort für manuell installierte Software ist. Wechseln wir in dieses Verzeichnis:# cd /opt
Und laden Sie das Paket direkt in diesen Pfad herunter:
# wget https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip --2019-01-02 18:06:00-- https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip Resolving www-us.apache.org (www-us.apache.org)... 40.79.78.1 Connecting to www-us.apache.org (www-us.apache.org)|40.79.78.1|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 10246390 (9.8M) [application/zip] Saving to: 'apache-tomcat-8.5.37.zip' apache-tomcat-8.5.37.zip 100%[================================================================================================================>] 9.77M 280KB/s in 23s 2019-01-02 18:06:24 (444 KB/s) - 'apache-tomcat-8.5.37.zip' saved [10246390/10246390]
Der Spiegel kann je nach Standort variieren. Verwenden Sie für eine optimale Leistung den Spiegel, der Ihrem Standort am nächsten liegt.
- Als nächstes extrahieren wir das Paket mit
unzip
an Ort und Stelle:# unzip apache-tomcat-8.5.37.zip
- Wir erstellen einen symbolischen Link
/opt/tomcat
zeigt auf/opt/apache-tomcat-8.5.37
:# ln -s /opt/apache-tomcat-8.5.37 /opt/tomcat
Auf diese Weise müssen Sie bei der Installation einer weiteren Version und dem Wechsel zu dieser ändern, wohin der Symlink zeigt.
- Wir löschen die ursprünglichen
/opt/tomcat/logs
Verzeichnis und ersetzen Sie es durch einen symbolischen Link, der auf/var/log/tomcat
zeigt :# mkdir /var/log/tomcat # rmdir /opt/tomcat/logs # ln -s /var/log/tomcat /opt/tomcat/logs
Der Grund dafür ist, alle Protokolle unter
/var/log
zu speichern wobei die Speicherung unter Berücksichtigung der Systemlast und damit der Protokolldateigröße erfolgt. Es empfiehlt sich, Daten des gleichen Typs an einem Ort zu speichern, und zwar in/var/log
ist bereits der Ort der System-Logfiles. - Wir erstellen den Benutzer, der den Server ausführt, und legen ihn als Eigentümer der erforderlichen Verzeichnisse fest:
# useradd tomcat # chown -R tomcat:tomcat /opt/apache-tomcat-8.5.37 # chown -R tomcat:tomcat /var/log/tomcat
- Wir fügen Ausführungsrechte zu den Skripten hinzu, die sich in der
bin
befinden Verzeichnis:# chmod +x /opt/tomcat/bin/*.sh
- Wir erstellen eine grundlegende Dienstdatei
/etc/systemd/system/tomcat.service
fürsystemd
mit unserem bevorzugten Texteditor wievi
odernano
mit folgendem Inhalt:[Unit] Description=Tomcat After=syslog.target network.target [Service] Type=forking User=tomcat Group=tomcat ExecStart=/opt/tomcat/bin/catalina.sh start ExecStop=/opt/tomcat/bin/catalina.sh stop [Install] WantedBy=multi-user.target
- Wir laden die
systemd
neu Konfiguration, alsosystemd
wird die neue Dienstdatei bemerken:# systemctl daemon-reload
- Wir greifen auf Tomcat über Port
8080
zu . Wir öffnen den Port auf der Firewall
:# firewall-cmd --zone=public --add-port=8080/tcp --permanent
Und die Firewall neu laden:
# firewall-cmd --reload
- Wir fragen
systemd
über den neuen Dienst:# systemctl status tomcatenable systemd service tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: inactive (dead)
- Als
systemd
jetzt den Dienst kennt, können wir ihn starten:# systemctl start tomcat
- Schließlich verifizieren wir unseren laufenden Server mit systemd:
# systemctl status tomcat tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2019-01-02 18:40:00 CET; 4s ago Process: 4854 ExecStop=/opt/tomcat/bin/catalina.sh stop (code=exited, status=0/SUCCESS) Process: 5529 ExecStart=/opt/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS) Main PID: 5543 (java) Tasks: 47 (limit: 12544) Memory: 85.2M CGroup: /system.slice/tomcat.service ˪5543 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties [...]
Wenn wir einen Browser öffnen und
http://<name-or-ip-address-of-the-server>:8080/examples/
eingeben In der Adressleiste sollten wir die offiziellen Beispiele sehen, die mit dem Paket geliefert wurden und von unserem erfolgreich installierten Tomcat-Server bereitgestellt werden. - Bei Bedarf können wir den systemd-Dienst aktivieren, um unseren Server beim Booten automatisch zu starten:
# systemctl enable tomcat