Tomcat installation per tarball (Ubuntu 18.04): Unterschied zwischen den Versionen

Aus Tutorials
Zur Navigation springen Zur Suche springen
Zeile 118: Zeile 118:
</pre>
</pre>


=== Zusätzlich bei ''Tomcat 9'' ===
=== Manager-GUI für alle Addressen erlauben ===
 
==== Manager für alle Addressen erlauben ====


<pre>
<pre>
sudo vi /opt/tomcat/tomcat9_0_0/conf/Catalina/localhost/manager.xml
sudo -u tomcat vi /opt/tomcat/tomcat10_0_0/tomcat10/conf/Catalina/localhost/manager.xml
</pre>
</pre>


Zeile 132: Zeile 130:
</pre>
</pre>


=== Als Service mit ''SysVinit'' ===
=== Als Service mit ''systemctl'' ===
 
Eine Konfigurationsdatei ''/etc/init.d/tomcat7'' anlegen:
<pre>
sudo nano /etc/init.d/tomcat7
</pre>
 
Die Datei ''/etc/init.d/tomcat7'' mit folgenden Inhalt befüllen (die Basis für dieses Skript stammt von [https://gist.github.com/miglen/5590986 https://gist.github.com/miglen/5590986]):
 
[[Datei:Tomcat7.sh]]


Service beim Systemstart automatisch starten:
...
<pre>
sudo update-rc.d tomcat7 defaults 80 10
</pre>
   
   
=== Realm (Security Authentication) ===
=== Realm (Security Authentication) ===

Version vom 6. Januar 2021, 14:32 Uhr

Noch in Bearbeitung


Voraussetzungen

Java siehe Java (Ubuntu)

Benutzer anlegen

sudo addgroup --system --no-create-home --disabled-login --group tomcat
sudo adduser --system --no-create-home --disabled-login --ingroup tomcat tomcat

Alternativ mit fixer UID:

sudo addgroup --system --no-create-home --disabled-login --uid 128 --group tomcat
sudo adduser --system --no-create-home --disabled-login --uid 128 --ingroup tomcat tomcat 

Download

Verfügbare Versionen siehe http://www.eu.apache.org/dist/tomcat/

wget https://downloads.apache.org/tomcat/tomcat-10/v10.0.0/bin/apache-tomcat-10.0.0.tar.gz
tar -xzf apache-tomcat-10.0.0.tar.gz

Installationsverzeichnis anlegen:

sudo mkdir -p /opt/tomcat/tomcat10_0_0/

Entpacktes Tomcat-Verzeichnis verschieben und Besitzer setzen:

sudo mv apache-tomcat-10.0.0 /opt/tomcat/tomcat10_0_0/tomcat10
sudo chown -R tomcat:tomcat /opt/tomcat/tomcat10_0_0/

Installation

Einen symbolischen Link auf das Verzeichnis mit der Version für Tomcat 10 anlegen (falls mehrere Versionen installiert sind):

cd /opt/tomcat/
sudo ln -s /opt/tomcat/tomcat10_0_0 tomcat10

Umgebungsvariablen setzen

  • CATALINA_HOME = Verzeichnis, wo die Binärdateien liegen
  • CATALINA_BASE = Verzeichnis, wo die Instanz-spezifischen Dateien (z.B. Konfigurationsdateien) liegen (bei einer Instanz können beide Variablen gleich sein)

Dazu eine Datei /etc/tomcat10.conf erstellen:

sudo vi /etc/tomcat10.conf

Diese Datei mit folgenden Inhalt befüllen:

# Where your java installation lives
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-armhf"

# Where your tomcat installation lives
CATALINA_BASE="/opt/tomcat/tomcat10_0_0/tomcat10"
CATALINA_HOME="/opt/tomcat/tomcat10_0_0/tomcat10"
JASPER_HOME="/opt/tomcat/tomcat10_0_0/tomcat10"
CATALINA_TMPDIR="/opt/tomcat/tomcat10_0_10/tomcat10/temp"

# Set the TOMCAT_PID location
CATALINA_PID="$CATALINA_HOME/bin/catalina.pid"

# What user should run tomcat
TOMCAT_USER="tomcat"

In der Datei /opt/tomcat/tomcat10_0_0/tomcat10/bin/catalina.sh die Variablenkonfiguration einfügen:

sudo vi /opt/tomcat/tomcat10_0_0/tomcat10/bin/catalina.sh
...
# Ensure that any user defined CLASSPATH variables are not used on startup,
# but allow them to be specified in setenv.sh, in rare case when it is needed.
CLASSPATH=

# Get the tomcat config (use this for environment specific settings)
if [ -z "${TOMCAT_CFG}" ]; then
        TOMCAT_CFG="/etc/tomcat10.conf"
fi

if [ -r "$TOMCAT_CFG" ]; then
        . $TOMCAT_CFG
fi

if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
  . "$CATALINA_BASE/bin/setenv.sh"
...

Konfiguration

Tomcat Benutzer anlegen

Dazu in der Datei $CATALINA_HOME/conf/tomcat-users.xml folgende Zeilen zwischen <tomcat-users> und </tomcat-users> einfügen:

sudo vi /opt/tomcat/tomcat10_0_0/tomcat10/conf/tomcat-users.xml
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="tomcat"/>
<user username="tomcat" password="tomcat" roles="tomcat,manager-gui,admin-gui"/>

Manager-GUI für alle Addressen erlauben

sudo -u tomcat vi /opt/tomcat/tomcat10_0_0/tomcat10/conf/Catalina/localhost/manager.xml
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

Als Service mit systemctl

...

Realm (Security Authentication)

https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html#JDBCRealm

http://www.avajava.com/tutorials/lessons/how-do-i-use-a-jdbc-realm-with-tomcat-and-mysql.html?page=1


Zurück zu Tomcat (tarball)