Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:shibidp:prepare-tomcat [2020/04/09 11:31] – [Debian 10] Silke Meyerde:shibidp:prepare-tomcat [2024/06/10 11:27] Doreen Liebenau
Zeile 1: Zeile 1:
 +<- de:shibidp:prepare-java|Vorarbeiten: Java/OpenJDK ^ de:shibidp:uebersicht|Überblick: Tutorial zur IdP-Inbetriebnahme ^ de:shibidp:prepare-zert|Vorarbeiten: Zertifikate ->
 +
 ====== IdP-Vorarbeiten: Tomcat ====== ====== IdP-Vorarbeiten: Tomcat ======
  
 ===== Installation ===== ===== Installation =====
  
-==== Debian 10 ====+==== Debian 12 ====
  
 <code bash> <code bash>
-root@idp:~# apt install tomcat9+root@idp:~# apt install tomcat10
 </code> </code>
  
-==== CentOS 7 ==== 
- 
-CentOS 7 bringt über das Repository noch Tomcat 7 mit. Neuere Versionen können Sie manuell installieren. 
- 
-<code bash> 
-root@idp:~# yum -y install tomcat 
-</code> 
- 
-==== OpenSUSE Leap 15.1 ==== 
- 
-OpenSUSE Leap 15 kommt mit Tomcat 9. 
- 
-<code bash> 
-root@idp:~# zypper install tomcat 
-</code> 
  
 ===== Startup-Konfiguration ===== ===== Startup-Konfiguration =====
  
-Einige globale Java-Parameter müssen beim Tomcat-Start festgelegt werden. Das IdP-Servlet benötigt mehr Speicher, als gemäß den Voreinstellungen vorgesehen ist und Zugriff auf das Filesystem:+Einige globale Java-Parameter müssen beim Tomcat-Start festgelegt werden. Das IdP-Servlet benötigt Zugriff auf das Filesystem:
  
-==== Debian 10 ==== +==== Debian 12 ====
- +
-<file bash /etc/default/tomcat9> +
-# den Tomcat mit genug Speicher starten: +
-JAVA_OPTS="-Djava.awt.headless=true -XX:+UseConcMarkSweepGC -Xms1024m -Xmx2048m" +
-</file>+
  
-Für die Schreibberechtigungen vom Tomcat müssen ein Verzeichnis und eine Override-Konfiguration für Systemd angelegt werden:+Für die Schreibberechtigungen vom Tomcat muss eine Override-Konfiguration für Systemd angelegt werden:
 <code bash> <code bash>
-root@idp:~# mkdir /etc/systemd/system/tomcat9.service.d+root@idp:~# systemctl edit tomcat10.service
 </code> </code>
  
-Die Datei wird in dem soeben erstellten Verzeichnis angelegt: +Dadurch wird unter ''/etc/systemd/system/tomcat10.service.d'' eine Datei ''override.conf'' angelegt, die Sie wie folgt editieren und speichern
-<file ini /etc/systemd/system/tomcat9.service.d/override.conf>+<file ini /etc/systemd/system/tomcat10.service.d/override.conf>
 [Service] [Service]
 ReadWritePaths=/opt/shibboleth-idp/logs/ ReadWritePaths=/opt/shibboleth-idp/logs/
 ReadWritePaths=/opt/shibboleth-idp/metadata/ ReadWritePaths=/opt/shibboleth-idp/metadata/
 </file> </file>
-Anschließend: 
-<code> 
-systemctl daemon-reload 
-</code> 
- 
-==== CentOS und OpenSUSE ==== 
  
-Die Tomcat-Start-Optionen werden in ''/etc/tomcat/tomcat.conf'' festgelegt. 
  
 ===== Port-Konfiguration ===== ===== Port-Konfiguration =====
Zeile 62: Zeile 37:
   * aus Sicherheitsgründen der Default-Port 8080 abgeschaltet   * aus Sicherheitsgründen der Default-Port 8080 abgeschaltet
   * auf Port 8009 der AJP-Connector aktiviert über den der vorgelagerte Webserver Anfragen an Tomcat weiterleitet   * auf Port 8009 der AJP-Connector aktiviert über den der vorgelagerte Webserver Anfragen an Tomcat weiterleitet
 +  * Die letzte Einstellung secretRequired kann auf false gesetzt werden, wenn der AJP-Connector innerhalb eines vertrauenswürdigen Netzwerks läuft. Steht das Setting auf true, so muss zusätzlich das secret angegeben werden ([[https://tomcat.apache.org/tomcat-9.0-doc/config/ajp.html|siehe Tomcat-Doku]]).
  
-<file xml /etc/tomcat9/server.xml>+<file xml /etc/tomcat10/server.xml>
    <!-- ... -->    <!-- ... -->
   <Service name="Catalina">   <Service name="Catalina">
Zeile 80: Zeile 56:
                useIPVHosts="true"                useIPVHosts="true"
                maxPostSize="100000"                maxPostSize="100000"
-               URIEncoding="UTF-8" />+               URIEncoding="UTF-8
 +               secretRequired="false" />
     <!-- ... -->     <!-- ... -->
   </Service>   </Service>
Zeile 86: Zeile 63:
 </file> </file>
  
-IdP-Sessions gehen bei einem Tomcat-Neustart in jedem Fall verloren. Daher ergibt es keinen Sinn (bzw. führt nur zu unnötigen IdP-Fehlermeldungen), einzustellen, dass alte Sessions über Tomcat-Neustarts persistiert werden sollen. Deaktivieren Sie daher dieses Tomcat-Feature: 
- 
-<file xml /etc/tomcat9/context.xml> 
-<?xml version="1.0" encoding="UTF-8"?> 
-<!-- 
-     ... 
---> 
-<!-- The contents of this file will be loaded for each web application --> 
-<Context> 
- 
-    <!-- Default set of monitored resources. If one of these changes, the    --> 
-    <!-- web application will be reloaded.                                   --> 
-    <WatchedResource>WEB-INF/web.xml</WatchedResource> 
-    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource> 
- 
-    <!-- Uncomment this to disable session persistence across Tomcat restarts --> 
- 
-    <!-- siehe https://wiki.shibboleth.net/confluence/display/IDP30/ApacheTomcat8 --> 
-    <Manager pathname="" /> 
- 
-</Context> 
-</file> 
  
 ===== Java Standard Tag Library (JSTL) ===== ===== Java Standard Tag Library (JSTL) =====
-==== Debian 10 ==== +==== Debian 12 ==== 
-Unter Debian 10 kann die JSTL aus dem Debian-Repository installiert werden:+Unter Debian 12 kann die JSTL aus dem Debian-Repository installiert werden:
 <code bash> <code bash>
 root@idp:~# apt install libtaglibs-standard-impl-java root@idp:~# apt install libtaglibs-standard-impl-java
 </code> </code>
  
-Anschließend muss der Pfad zur .jar-Datei noch ''/etc/tomcat9/catalina.properties'' hinzugefügt werden:+Anschließend muss der Pfad zur .jar-Datei noch ''/etc/tomcat10/catalina.properties'' hinzugefügt werden:
  
-<file xml /etc/tomcat9/catalina.properties>+<file xml /etc/tomcat10/catalina.properties>
 common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","/usr/share/java/*.jar" common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","/usr/share/java/*.jar"
 </file> </file>
  
-==== OpenSUSE Leap 15.1 ==== 
- 
-<code bash> 
-root@idp:~# zypper install jakarta-taglibs-standard 
-</code> 
- 
-===== Konfiguration für das IdP-Servlet vorbereiten ===== 
-Um das IdP-Servlet im Tomcat zu aktivieren, erstellen Sie folgende Datei im Tomcat-localhost-Context: 
- 
-<file xml /etc/tomcat9/Catalina/localhost/idp.xml> 
-<Context docBase="/opt/shibboleth-idp/war/idp.war" 
-         privileged="true" 
-         unpackWAR="true" 
-         antiResourceLocking="false" 
-         swallowOutput="true" /> 
-</file> 
  
 **Sie haben jetzt eine Tomcat-Konfiguration, die nicht startet, solange nichts unter /opt/shibboleth liegt!** **Sie haben jetzt eine Tomcat-Konfiguration, die nicht startet, solange nichts unter /opt/shibboleth liegt!**
  
-Weiter geht es mit [[:de:shibidp:prepare-http|HTTP-Server]]. +Weiter geht es mit den [[de:shibidp:prepare-zert|Zertifikaten]].
  
 +{{tag>idp5 tutorial }}
  • Zuletzt geändert: vor 4 Tagen