IdP-Vorarbeiten: Tomcat

root@idp:~# apt install tomcat10

Einige globale Java-Parameter müssen beim Tomcat-Start festgelegt werden. Das IdP-Servlet benötigt Zugriff auf das Filesystem:

Für die Schreibberechtigungen vom Tomcat muss eine Override-Konfiguration für Systemd angelegt werden:

root@idp:~# systemctl edit tomcat10.service

Dadurch wird unter /etc/systemd/system/tomcat10.service.d eine Datei override.conf angelegt, die Sie wie folgt editieren und speichern:

/etc/systemd/system/tomcat10.service.d/override.conf
[Service]
ReadWritePaths=/opt/shibboleth-idp/logs/
ReadWritePaths=/opt/shibboleth-idp/metadata/

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 (siehe Tomcat-Doku).
/etc/tomcat10/server.xml
   <!-- ... -->
  <Service name="Catalina">
    <!-- ... -->
    <!-- non-SSL/TLS HTTP/1.1 Connector on port 8080 abschalten -->
    <!-- <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" /> -->
    <!-- ... -->
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009"
               address="127.0.0.1"
               protocol="AJP/1.3"
               redirectPort="8443"
               enableLookups="false"
               useIPVHosts="true"
               maxPostSize="100000"
               URIEncoding="UTF-8"
               secretRequired="false" />
    <!-- ... -->
  </Service>
  <!-- ... -->

Unter Debian 12 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/tomcat10/catalina.properties hinzugefügt werden:

/etc/tomcat10/catalina.properties
common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","/usr/share/java/*.jar"

Sie haben jetzt eine Tomcat-Konfiguration, die nicht startet, solange nichts unter /opt/shibboleth liegt!

Weiter geht es mit den Zertifikaten.

  • Zuletzt geändert: vor 10 Tagen