<- de:shibidp:prepare-java|Vorarbeiten: Java/OpenJDK ^ de:shibidp:uebersicht|Überblick: Tutorial zur IdP-Inbetriebnahme ^ de:shibidp:prepare-zert|Vorarbeiten: Zertifikate -> ====== IdP-Vorarbeiten: Tomcat ====== ===== Installation ===== ==== Debian 10/11 ==== root@idp:~# apt install tomcat9 ==== CentOS 7 ==== CentOS 7 bringt über das Repository noch Tomcat 7 mit. Neuere Versionen können Sie manuell installieren. root@idp:~# yum -y install tomcat ==== OpenSUSE Leap 15.1 ==== OpenSUSE Leap 15 kommt mit Tomcat 9. root@idp:~# zypper install tomcat ===== 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: ==== Debian 10/11 ==== # den Tomcat mit genug Speicher starten: JAVA_OPTS="-Djava.awt.headless=true -Xms1024m -Xmx2048m" Für die Schreibberechtigungen vom Tomcat muss eine Override-Konfiguration für Systemd angelegt werden: root@idp:~# systemctl edit tomcat9.service Dadurch wird unter ''/etc/systemd/system/tomcat9.service.d'' eine Datei ''override.conf'' angelegt, die Sie wie folgt editieren und speichern: [Service] ReadWritePaths=/opt/shibboleth-idp/logs/ ReadWritePaths=/opt/shibboleth-idp/metadata/ ==== CentOS und OpenSUSE ==== Die Tomcat-Start-Optionen werden in ''/etc/tomcat/tomcat.conf'' festgelegt. ===== Port-Konfiguration ===== In der Tomcat-Configuration wird dann * aus Sicherheitsgründen der Default-Port 8080 abgeschaltet * 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]]). 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: WEB-INF/web.xml WEB-INF/tomcat-web.xml ${catalina.base}/conf/web.xml ===== Java Standard Tag Library (JSTL) ===== ==== Debian 10/11 ==== Unter Debian 10 und 11 kann die JSTL aus dem Debian-Repository installiert werden: root@idp:~# apt install libtaglibs-standard-impl-java Anschließend muss der Pfad zur .jar-Datei noch ''/etc/tomcat9/catalina.properties'' hinzugefügt werden: common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","/usr/share/java/*.jar" ==== OpenSUSE Leap 15.1 ==== root@idp:~# zypper install jakarta-taglibs-standard ===== Konfiguration für das IdP-Servlet vorbereiten ===== Um das IdP-Servlet im Tomcat zu aktivieren, erstellen Sie folgende Datei im Tomcat-localhost-Context: **Sie haben jetzt eine Tomcat-Konfiguration, die nicht startet, solange nichts unter /opt/shibboleth liegt!** Weiter geht es mit den [[de:shibidp:prepare-zert|Zertifikaten]]. {{tag>idp4 tutorial included-in-ansible}}