CentOS 7 – Tomcat 8 installieren

Apache Tomcat ist ein Open-Source-Webserver und Webcontainer, der die Spezifikation für Java Servlets und JavaServer Pages (JSP) implementiert und es damit erlaubt, in Java geschriebene Web-Anwendungen auf Servlet- beziehungsweise JSP-Basis auszuführen.

Das Tutorial zeigt wie man Tomcat in der Version 8 unter CentOS 7 installiert.

Benutzer tomcat erstellen

Sicherheitstechnisch sinnvoll ist es, den Tomcat nicht als root sondern als unpriviligierten User auszuführen. Dazu erstellen wir uns einen User tomcat und die dazugehörige Gruppe.

Zuerst erstellen wir die Gruppe tomcat.

# groupadd tomcat

Dann erstellen wir den User tomcat.

# useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat

Dieser User kann sich nicht am System anmelden und sein Homeverzeichnis liegt unterhalb von /opt/tomcat. Dorthin legen wir dann auch die nötigen Tomcat-Daten. Ausserdem fügen wir den User gleich der passenden Gruppe tomcat hinzu.

Installation von Java

Tomcat setzt eine Installation von Java voraus. Das von der Distribution bereitgestellt OpenJDK sollte für unsere Zwecke reichen. Die Installation erfolgt mit yum.

# yum install java-1.7.0-openjdk-devel

Das JAVA_HOME Verzeichnis liegt unter /usr/lib/jvm/jre. Diesen Pfad benötigen wir später noch für unser System Unit File.

Nach der Installation sollte uns Java folgende Versionsnummer ausgeben:

# java -version
java version "1.7.0_91"
OpenJDK Runtime Environment (rhel-2.6.2.1.el7_1-x86_64 u91-b00)
OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode)

Installation von Tomcat 8

Der einfachste Weg zum installieren von Tomcat ist der Download von der Tomcat-Seite und die anschliessende manuelle Konfiguration. Dazu gehen wir wie folgt vor:

Zuerst laden wir uns das gepackte Binary-Paket von Tomcat Server herunter.

# wget http://www.us.apache.org/dist/tomcat/tomcat-8/v8.0.28/bin/apache-tomcat-8.0.28.tar.gz

Anschliessend erstellen wir den Ordner /opt/tomcat und entpacken den Download in das eben erstellte Verzeichnis.

# mkdir /opt/tomcat
# tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1

Anschliessend müssen wir noch die passenden Berechtigungen entsprechend setzten.

# chgrp -R tomcat /opt/tomcat/conf
# chmod g+rwx /opt/tomcat/conf
# chmod g+r /opt/tomcat/conf/*

# chown -R tomcat /opt/tomcat/webapps/ /opt/tomcat/work/ /opt/tomcat/temp/ /opt/tomcat/logs/

Nun sollten alle Berechtigung richtig gesetzt sein und wir können mit den erstellen der Systemd Unit File für Tomcat fortfahren.

Systemd Unit File erstellen

Um tomcat mit dem Kommando systemctl start tomcat starten zu können benötigen wir ein sogeanntes Systemd Unit File. Die erstellen wir unter /etc/systemd/system/

# vi /etc/systemd/system/tomcat.service

und fügen folgenden Inhalt ein.

# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID

User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target
Tomcat Prozesse
Tomcat Prozesse

Nach dem Speichern müssen wir noch systemctl neu laden:

# systemctl daemon-reload

Anschliessen können wir Tomcat starten:

# systemctl start tomcat

Dann öffnen wir noch den Port in unserer Firewall falls nötig.

# firewall-cmd --zone=public --add-port=8080/tcp

Nun können wir unter der URL http://Server_IP:8080 testen ob der Tomcat läuft.

Tomcat konfigurieren

Tomcat Startseite
Tomcat Startseite

Um die mitgelieferten Tools wie Manager App, Server Status und Host Hanager nutzen zu können muss erst ein entsprechender User eingerichtet werden.
Dazu editieren wir die Datei /opt/tomcat/conf/tomcat-users.xml.

# vi /opt/tomcat/conf/tomcat-users.xml

Dort fügen wir die Zeile <user … > hinzu. In dieser Zeile wird auch das Passwort konfiguriert.

<tomcat-users>
    <user username="admin" password=„geheim“ roles="manager-gui,admin-gui"/>
</tomcat-users>
Tomcat Statusseite
Tomcat Statusseite

Anschliessend starten wir den tomcat-Server neu.

# systemctl restart tomcat

Nun können wir mit den User und dem passenden Passwort auf die Tools zugreifen.

Weiter Infos zur Konfiguration von Tomcat finde man in der Dokumentation auf der Tomcat-Projekt-Seite.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.