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
de:shibidp3prepare-tomcat [2019/08/14 15:58]
Silke Meyer
de:shibidp3prepare-tomcat [2019/10/14 11:21] (aktuell)
Silke Meyer [Startup-Konfiguration]
Zeile 15: Zeile 15:
 </​code>​ </​code>​
  
-Hinweis: Sofern Sie tomcat8 aus Debian-Jessie-Backports verwenden (nicht unbedingt nötig) brauchen Sie auch das Paket '​libservlet3.1-java'​ um den IdP betreiben zu können.+=== CentOS 7 ===
  
-=== RHEL === +CentOS ​7 bringt über das Repository noch Tomcat 7 mit. Neuere Versionen können Sie manuell installieren.
- +
-EPEL installieren +
- +
-RHEL/CentOS ​6 32-Bit+
  
 <code bash> <code bash>
-wget http://​download.fedoraproject.org/​pub/​epel/​6/​i386/​epel-release-6-8.noarch.rpm +root@idp:~# yum -y install tomcat
-rpm -ivh epel-release-6-8.noarch.rpm+
 </​code>​ </​code>​
  
-RHEL/CentOS 6 64-Bit+=== OpenSUSE Leap 15.1 ===
  
-<code bash> +OpenSUSE Leap 15 kommt mit Tomcat 9.
-wget http://​download.fedoraproject.org/​pub/​epel/​6/​x86_64/​epel-release-6-8.noarch.rpm +
-rpm -ivh epel-release-6-8.noarch.rpm +
-</​code>​ +
- +
-EPEL verifizieren +
- +
-<code bash> +
-yum repolist +
-</​code>​ +
- +
-EPEL aktivieren +
- +
-<code bash> +
-yum-config-manager --enable epel +
-</​code>​+
  
 <code bash> <code bash>
-yum install tomcat+root@idp:~# zypper ​install tomcat
 </​code>​ </​code>​
  
Zeile 62: Zeile 42:
 </​file>​ </​file>​
  
 +Diese Datei muss neu angelegt werden:
 <file ini /​etc/​systemd/​system/​tomcat9.service.d/​override.conf>​ <file ini /​etc/​systemd/​system/​tomcat9.service.d/​override.conf>​
 [Service] [Service]
Zeile 67: Zeile 48:
 ReadWritePaths=/​opt/​shibboleth-idp/​metadata/​ ReadWritePaths=/​opt/​shibboleth-idp/​metadata/​
 </​file>​ </​file>​
 +Anschließend:​
 +<​code>​
 +systemctl daemon-reload
 +</​code>​
  
 === Debian 8/9 === === Debian 8/9 ===
Zeile 77: Zeile 62:
 </​file>​ </​file>​
  
-=== CentOS/RHEL ===+=== CentOS ​und OpenSUSE ​===
  
-Die Tomcat-Start-Optionen werden in /etc/tomcat8/tomcat8.conf festegelegt.+Die Tomcat-Start-Optionen werden in ''​/etc/tomcat/tomcat.conf''​ festgelegt.
  
 ==== Port-Konfigurtion ==== ==== Port-Konfigurtion ====
Zeile 110: Zeile 95:
   <!-- ... -->   <!-- ... -->
 </​file>​ </​file>​
- 
-Um das IdP-Servlet im Tomcat zu aktivieren, erstellen Sie folgende Datei im Tomcat-localhost-Context:​ 
- 
-<file xml /​etc/​tomcatX/​Catalina/​localhost/​idp.xml>​ 
-<Context docBase="/​opt/​shibboleth-idp/​war/​idp.war"​ 
-         ​privileged="​true"​ 
-         ​unpackWAR="​true"​ 
-         ​antiResourceLocking="​false"​ 
-         ​swallowOutput="​true"​ /> 
-</​file>​ 
- 
-**Achtung:​** ​ Unter CentOS 7 und Tomcat 7 muss ''​unpackWAR="​false"'' ​ gesetzt werden! 
  
 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:​ 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:​
Zeile 156: Zeile 129:
  
 <file xml /​etc/​tomcat9/​catalina.properties>​ <file xml /​etc/​tomcat9/​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>​
  
 === Debian 8/9 === === Debian 8/9 ===
-Als letztes ​muss noch die Java Standard Tag Library heruntergeladen und in das Tomcat-Verzeichnis $CATALINA_BASE/​lib gelegt werden ​(unter ​Debian/Unbuntu ​ist das /​var/​lib/​tomcat8/​lib,​ bei anderen Distributionen ​bitte entsprechend ​anpassen):+Unter Debian 8 und 9 muss die fehlerfreie Version der Java Standard Tag Library heruntergeladen und in das Tomcat-Verzeichnis $CATALINA_BASE/​lib gelegt werden. Unter Debian/Ubuntu ​ist das ''​/​var/​lib/​tomcat8/​lib''​, bei anderen Distributionen ​passen Sie den Pfad ggf. entsprechend ​an:
  
 <code bash> <code bash>
 root@idp:~# wget https://​build.shibboleth.net/​nexus/​service/​local/​repositories/​thirdparty/​content/​javax/​servlet/​jstl/​1.2/​jstl-1.2.jar \ root@idp:~# wget https://​build.shibboleth.net/​nexus/​service/​local/​repositories/​thirdparty/​content/​javax/​servlet/​jstl/​1.2/​jstl-1.2.jar \
              -O /​var/​lib/​tomcat8/​lib/​jstl-1.2.jar              -O /​var/​lib/​tomcat8/​lib/​jstl-1.2.jar
 +</​code>​
 +
 +=== OpenSUSE Leap 15.1 ===
 +
 +<code bash>
 +root@idp:~# zypper install jakarta-taglibs-standard
 </​code>​ </​code>​
  
Zeile 175: Zeile 154:
 </​code>​ </​code>​
  
-Lassen ​Sie am besten ​beim restart des Tomcat ​in einem zweiten Fenster ​den Tomcat-Log ​mitlaufen ​um zu sehen ob es beim Start Probleme gibt:+Behalten ​Sie beim Neustart ​in einem zweiten Fenster ​das Tomcat-Log ​im Blick, ​um zu sehenob es beim Start Probleme gibt:
  
 <code bash> <code bash>
 root@idp:~# tail -f /​var/​log/​tomcatX/​catalina.DATUM.log root@idp:~# tail -f /​var/​log/​tomcatX/​catalina.DATUM.log
 +# oder
 +root@idp:~# journalctl -u tomcat -f
 </​code>​ </​code>​
  
-Sofern der Tomcat nicht fehlerfrei startet sollten Sie dem erst nachgehen bevor Sie mit dieser Anleitung weiter machen. Wenn im Log die Meldung "​Server startup in XXXXX ms" kommt ist der Tomcat betriebsbereit. Kontrollieren Sie dann ob die Port-Konfiguration erfolgreich war und der Tomcat nur noch an zwei Ports auf Localhost lauscht:+Sofern der Tomcat nicht fehlerfrei startet sollten Sie dem erst nachgehenbevor Sie mit dieser Anleitung weiter machen. Wenn im Log die Meldung "​Server startup in XXXXX ms" kommtist der Tomcat betriebsbereit. Kontrollieren Sie dannob die Port-Konfiguration erfolgreich war und der Tomcat nur noch an 1-2 Ports auf Localhost lauscht. Der **Port 8005** ist bei Debian/​Ubuntu mit Tomcat8 sowieso OpenSUSE mit Tomcat 9 noch standardmäßig offen, bei Debian/​Ubuntu mit Tomcat9 nicht mehr. Das ist okay so.
  
 <code bash> <code bash>
-root@idp:~# netstat -tlpen | grep java +root@idp:~# netstat -tlpn | grep java 
-(tcp6       ​     0 127.0.0.1:​8005 ​         :::*                    LISTEN ​     ​118 ​       5994188 ​    2594/​java) +(tcp6     ​   0 127.0.0.1:​8005 ​   :::*    LISTEN ​  ​2594/​java) 
-tcp6       ​     0 127.0.0.1:​8009 ​         :::*                    LISTEN ​     ​118 ​       5993661 ​    2594/java+ ​tcp6 ​    ​   0 127.0.0.1:​8009 ​   :::*    LISTEN ​  ​2594/java
 </​code>​ </​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/​tomcatX/​Catalina/​localhost/​idp.xml>​
 +<Context docBase="/​opt/​shibboleth-idp/​war/​idp.war"​
 +         ​privileged="​true"​
 +         ​unpackWAR="​true"​
 +         ​antiResourceLocking="​false"​
 +         ​swallowOutput="​true"​ />
 +</​file>​
 +
 +**Achtung:​** ​ Unter CentOS 7 und Tomcat 7 muss ''​unpackWAR="​false"'' ​ gesetzt werden!
 +
 +Solange nichts unter /​opt/​shibboleth liegt, startet der Tomcat jetzt nur mit Fehlern neu.
  
 Weiter geht es mit [[:​de:​shibidp3prepare-http|HTTP-Server]]. Weiter geht es mit [[:​de:​shibidp3prepare-http|HTTP-Server]].
  
  
  • Zuletzt geändert: vor 4 Monaten