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
Letzte Überarbeitung Beide Seiten der Revision
de:shibidp3prepare-tomcat [2019/08/14 09:40]
Silke Meyer [Port-Konfigurtion]
de:shibidp3prepare-tomcat [2019/10/14 11:16]
Silke Meyer
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 70: Zeile 51:
 === Debian 8/9 === === Debian 8/9 ===
  
-<file bash /​etc/​default/​tomcat8>+<file bash /​etc/​default/​tomcat[8|9]>
 # den Tomcat mit genug Speicher starten: # den Tomcat mit genug Speicher starten:
 JAVA_OPTS="​-Djava.awt.headless=true -XX:​+UseConcMarkSweepGC -Xms1024m -Xmx2048m"​ JAVA_OPTS="​-Djava.awt.headless=true -XX:​+UseConcMarkSweepGC -Xms1024m -Xmx2048m"​
Zeile 77: Zeile 58:
 </​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 91:
   <!-- ... -->   <!-- ... -->
 </​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 146: Zeile 115:
 </​file>​ </​file>​
  
-==== Java Server ​Tag Library (JSTL) ====+==== Java Standard ​Tag Library (JSTL) ==== 
 +=== Debian 10 === 
 +Unter Debian 10 kann die JSTL aus dem Debian-Repository installiert werden: 
 +<code bash> 
 +root@idp:~# apt install libtaglibs-standard-impl-java 
 +</​code>​
  
-Als letztes ​muss noch die Java Server ​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):+Anschließend ​muss der Pfad zur .jar-Datei ​noch ''/​etc/​tomcat9/​catalina.properties''​ hinzugefügt werden: 
 + 
 +<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"​ 
 +</​file>​ 
 + 
 +=== Debian 8/9 === 
 +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 163: Zeile 150:
 </​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>​
  
-==== Tomcat 7 ====+==== Konfiguration für das IdP-Servlet vorbereiten ​==== 
 +Um das IdP-Servlet im Tomcat zu aktivieren, erstellen Sie folgende Datei im Tomcat-localhost-Context:​
  
-Wir empfehlen Tomcat9 oder zumindest Tomcat8, siehe obenFalls Sie noch Tomcat7 einsetzen, ist das folgende vielleicht hilfreich:+<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!
  
-Sollte es beim Neustart nach Installation und Konfiguration des IdP folgender Fehlermeldung kommen: \\ > "​Resource specification not allowed here for source level below 1.7" \\ … so muss die Tomcat-eigene web.xml angepasst werden. Siehe hierzu [[http://www.censore.blogspot.in/​2015/​04/​how-to-set-tomcat-7-source-level-to.html|http://​www.censore.blogspot.in/​2015/​04/​how-to-set-tomcat-7-source-level-to.html]] \\ +Solange nichts unter /opt/shibboleth ​liegt, ​startet der Tomcat jetzt nur mit Fehlern neu.
-Bei Debian/​Ubuntu ​liegt diese Datei unter /​etc/​tomcat7/​web.xmlbei SLES 12 unter /​usr/​share/​tomcat/​conf/​web.xml+
  
 Weiter geht es mit [[:​de:​shibidp3prepare-http|HTTP-Server]]. Weiter geht es mit [[:​de:​shibidp3prepare-http|HTTP-Server]].
  
  
  • Zuletzt geändert: vor 8 Wochen