Skip to content

Latest commit

 

History

History
139 lines (100 loc) · 3.01 KB

Tomcat9.md

File metadata and controls

139 lines (100 loc) · 3.01 KB

Tomcat 9 installieren

Tomcat Benutzer anlegen:

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

Tomcat Download:

cd /tmp
wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz
tar -xf apache-tomcat-9.0.37.tar.gz
sudo mv apache-tomcat-9.0.37 /opt/tomcat/

Tomcat 9 wird regelmäßig upgedatet. Um mehr Kontrolle über Versionen und Updates zu haben, erstellen wir einen Symbolic Link, der latest heißt, der auf den Tomcat Installationsordner zeigt:

sudo ln -s /opt/tomcat/apache-tomcat-9.0.37 /opt/tomcat/latest

User/Group setzen, Berechtigungen vergeben:

sudo chown -R tomcat: /opt/tomcat
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

Service Unit Datei erstellen:

sudo nano /etc/systemd/system/tomcat.service

Ändere /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

Änderungen für systemd sichtbar machen:

sudo systemctl daemon-reload

URI Sonderzeichen für Query-Filter Parameter erlauben:

<Valve className="org.apache.catalina.valves.AccessLogValve"
       directory="logs" 
       prefix="localhost_access_log" 
       suffix=".txt" 
       rotatable="false" 
       resolveHost="false" 
       pattern="%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i""/>

Logging

log rotation mit cron konfigurieren:

[root@centos7 ~] nano /opt/tomcat/latest/conf/server.xml

Inhalt:

<Valve className="org.apache.catalina.valves.AccessLogValve" 
    directory="logs"
    prefix="localhost_access_log" 
    suffix=".txt" 
    rotatable="false"   
    resolveHosts="false"
    pattern="%a %l %u %t &quot;%r&quot; %s %b &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot;" />

cron job für log file rotation erstellen:

[root@centos7 ~] crontab -e

Inhalt:

00 00 * * * /bin/cp /var/log/tomcat7/localhost_access_log.txt /var/log/tomcat7/localhost_access_log.$(/bin/date +\%Y-\%m-\%d -d "yesterday").txt && /usr/bin/truncate -s 0 /var/log/tomcat7/localhost_access_log.txt

Tomcat Service starten:

[root@centos7 ~] service tomcat restart

Gegebenfalls Tomcat in den Autostart einfügen

sudo systemctl enable tomcat

Tomcat starten:

sudo systemctl start tomcat
sudo systemctl status tomcat

Gegebenfalls Port 8080 in der Firewall freigeben:

sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload