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 [2016/10/26 13:35] Raoul Gunnar Boreniusde:shibidp3prepare [2021/05/03 13:20] (aktuell) – veralteten Inhalt gelöscht Silke Meyer
Zeile 1: Zeile 1:
-======Systemumgebung, Einrichtung der benötigten Software====== 
  
-**NB** Bei den Konfigurationsbeispielen bitte nicht die kompletten Dateien mit den Konfigurationsschnipseln ersetzen, i.d.R. handelt es sich nur um Auszüge. Bitte nur die angezeigten Zeilen übernehmen bzw. entsprechend ergänzen! \\ 
-{{de:idp3_installation_freebsd_tu_freiberg_teil1.txt|Hier eine Anleitung für FreeBSD von den Kollegen aus Freiberg}}. 
- 
-=====Java===== 
- 
-Auch wenn die Shibboleth-Entwickler Oracle-Java empfehlen (weil die IdP-Software darunter entwickelt wird) setzen wir 
-auf den DFN-IdPs durchgängig OpenJDK ein. Es ist bei Debian/Ubuntu Teil des Betriebssystems und dadurch sehr leicht zu 
-installieren und up-to-date zu halten. Wir haben damit keine Probleme im Betrieb festgestellt und können es uneingeschränkt 
-empfehlen. 
- 
-====Debian 7, 8, Ubuntu 14.x, 15.x==== 
- 
-===OpenJDK=== 
- 
-<code bash> 
-root@idp:~# apt-get install openjdk-7-jdk 
-</code> 
- 
-Für den Fall, dass mehrere Java Runtime Environments (JRE) vorhanden sind, muss das soeben zusammen mit dem JDK installierte JRE aktiviert werden: 
-<code bash> 
-root@idp:~# update-alternatives --config java 
-</code> 
- 
-====CentOS 6, 7==== 
- 
-Siehe https://panovski.me/install-tomcat-8-on-centos-7/ 
- 
-====RHEL==== 
- 
-===OpenJDK=== 
- 
-<code bash> 
-yum install java-1.7.0-openjdk 
-update-alternatives --config java 
-</code> 
- 
-====SLES 11, 12==== 
- 
-Install IBM Java @ SLES 11 SP 3 
- 
-<code bash> 
-zypper install java-1_7_0-ibm 
-</code> 
- 
-==== Java Cryptography Extension (JCE) installiert?==== 
- 
-Bei Verwendung von OpenJDK (Debian/Ubuntu) ist alles nötige enthalten! 
-Bei anderen Systemen muss u.U. nachgearbeitet werden, siehe dazu [[de:shibidp3jce|JCE]] 
- 
- 
-=====Zertifikat(e)======  
- 
-Für HTTP Server sowie IdP (Signierung, Verschlüsselung) ein Zertifikat erstellen, beim Beantragen bitte das Profil "Shibboleth IdP SP" auswählen, damit das Zertifikat für alle SAML-Funktionen eingesetzt werden kann. 
-Zur Erstellung eines Zertifikatrequests siehe die [[https://www.pki.dfn.de/faqpki/faqpki-allgemein/#c15083|FAQ der DFN-PKI]]. 
- 
-=====HTTP Server==== 
- 
-====Apache 2.2==== 
- 
-===RHEL 6=== 
- 
-<code bash> 
-yum install httpd mod_ssl 
-</code> 
- 
-====Apache 2.4==== 
- 
-===SLES 11/12=== 
- 
-Falls Apache 2.4 als Frontend vor Tomcat 7.0 via AJP verwendet wird: in /etc/sysconfig/apache2 muss bei APACHE_MODULES proxy vor proxy_ajp stehen (ggfs. so editieren), weiterhin APACHE_SERVER_FLAGS="SSL" setzen. 
- 
-===Debian 8=== 
- 
-<code bash> 
-root@idp:~# apt-get install apache2 
-</code> 
- 
-Für einen sicheren Betrieb werden weiterhin einige Module benötigt, die nicht in allen Fällen per default aktiv sind: 
- 
-<code bash> 
-root@idp:~# a2enmod ssl 
-root@idp:~# a2enmod headers 
-root@idp:~# a2enmod proxy_ajp 
-</code> 
- 
-Abschließend muss der Web Server neu gestartet werden 
-<code bash> 
-root@idp:~# service apache2 restart 
-</code> 
- 
- 
-=== Konfiguration === 
- 
-<file apache /etc/apache2/sites-enabled/idp.uni-beispiel.de.conf> 
-################################################ 
-# 
-# Bitte im Folgenden 'IDP-IP-ADRESSE' und ggf. 'IDP-IPv6-ADRESSE' 
-# jeweils durch die entsprechende IP und 'idp.uni-beispiel.de' durch  
-# den FQDN Ihres IdPs ersetzen! 
-# 
-# Die Angabe der Portnummer bei 'ServerName' ist wichtig falls 
-# für den SSO auf Port 443 ein anderes Zertifikat verwendet werden 
-# soll als für die Attribute Authority auf Port 8443 
-# 
-# 
-# SingleSignOnService 
-# 
-# https://idp.uni-beispiel.de/idp/profile/SAML2/POST/SSO 
-# https://idp.uni-beispiel.de/idp/profile/SAML2/Redirect/SSO 
-# https://idp.uni-beispiel.de/idp/profile/Shibboleth/SSO 
-# 
-# Sofern der Port 443 nicht von der Distribution angeschaltet wird 
-# (bei Debian in /etc/apache2/ports.conf, bei openSUSE in /etc/apache2/listen.conf) 
-# können Sie das hier manuell machen: 
-# 
-# Listen 443 
-# 
- 
-################################################ 
-# 
-# SingleSignOnService auf Port 443 
-# 
-<VirtualHost IDP-IP-ADRESSE:443 [IDP-IPv6-ADRESSE]:443> 
-  ServerName              idp.uni-beispiel.de:443 
- 
-  SSLEngine on 
-  SSLCertificateFile      /etc/ssl/localcerts/idp.uni-beispiel.crt.pem 
-  SSLCertificateKeyFile   /etc/ssl/private/idp.uni-beispiel.key.pem 
-  SSLCACertificateFile    /etc/ssl/chains/uni-beispiel-chain.pem 
- 
-  AddDefaultCharset UTF-8 
- 
-  <Location /idp> 
-    Require all granted 
-    ProxyPass ajp://localhost:8009/idp 
-    # "SAMEORIGIN" vermeidet etwaige Fehlermeldungen im Browser beim Logout über mehrere SPs,  
-    # da hierbei mit iframes gearbeitet wird 
-    Header always append X-FRAME-OPTIONS "SAMEORIGIN" 
-  </Location> 
- 
-</VirtualHost> 
-  
-################################################ 
-# 
-# ArtifactResolutionService und AttributeService 
-# 
-# https://idp.beispiel-uni.de:8443/idp/profile/SAML2/SOAP/ArtifactResolution 
-# https://idp.beispiel-uni.de:8443/idp/profile/SAML1/SOAP/ArtifactResolution 
-# 
-# https://idp.beispiel-uni.de:8443/idp/profile/SAML2/SOAP/AttributeQuery 
-# https://idp.beispiel-uni.de:8443/idp/profile/SAML1/SOAP/AttributeQuery 
-# 
-Listen IDP-IP-ADRESSE:8443 
-Listen [IDP-IPv6-ADRESSE]:8443 
- 
-<VirtualHost IDP-IP-ADRESSE:8443 [IDP-IPv6-ADRESSE]:8443> 
-  ServerName              idp.uni-beispiel.de:8443 
- 
-  SSLEngine on 
-  SSLCertificateFile      /etc/ssl/localcerts/idp.uni-beispiel.crt.pem 
-  SSLCertificateKeyFile   /etc/ssl/private/idp.uni-beispiel.key.pem 
-  SSLCACertificateFile    /etc/ssl/chains/uni-beispiel-chain.pem 
-  SSLCACertificatePath    /etc/ssl/certs 
- 
-  # hier muss wegen veralteten SP-Clients (z.B. Thomson Reuters) eine etwas weniger strikte Konfiguration genommen 
-  # werden als von bettercrypto.org empfohlen wird: 
-  SSLCipherSuite 'EECDH+ECDSA+AESGCM+AES128:AES128:EECDH+ECDSA+AESGCM+AES256:AES256:!aNULL:!eNULL:!PSK:!SRP:!DH' 
-   
-  # Diese drei SSL-Optionen sind zwingend notwendig damit SP-Abfragen auf diesen Port funktionieren! 
-  # Details siehe Shibboleth-Wiki 
-  SSLVerifyClient       optional_no_ca 
-  SSLVerifyDepth        10 
-  SSLOptions            +StdEnvVars +ExportCertData 
- 
-  <Location /idp> 
-    Require all granted 
-    ProxyPass ajp://localhost:8009/idp 
-  </Location> 
- 
-</VirtualHost> 
- 
-</file> 
-Nach jeder Änderung die Konfiguration des HTTP Servers neu laden: 
-<code bash> 
-root@idp:~# service apache2 reload 
-</code> 
- 
-Anmerkungen: 
-  * Achten Sie bitte darauf, dass sich die SSL-Direktiven tatsächlich in einem VirtualHost-Kontext befinden und **nicht** im Location-Kontext. (Mehr dazu im [[https://www.aai.dfn.de/aktuelles/newsansicht/article/emfohlene-konfigurationsaenderung-fuer-den-shibboleth-idp-83/|Archiv]]). 
-  * stellen Sie sicher dass die grundsätzliche Apache-Konfiguration aktuellen Sicherheitsstandards entspricht! Details dazu übersteigen den Rahmen diese Anleitung. Hilfreiche Seiten: 
-    * [[https://bettercrypto.org/]] 
-    * [[https://www.dfn-cert.de/]] 
-    * https://blog.pki.dfn.de/2015/03/mehr-privacy-fuer-den-nutzer-ocsp-stapling/]] 
-    * [[https://blog.pki.dfn.de/]] 
-    * [[https://www.ssllabs.com/ssltest/]] 
- 
-===Windows=== 
- 
-Beispiel für eine Minimal-Konfiguration unter Windows (bereitgestellt von Thomas Glatzer, Uni Mainz): 
- 
-<code apache conf/httpd.conf> 
-# 
-# This is the main Apache HTTP server configuration file.  It contains the 
-# configuration directives that give the server its instructions. 
-# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information. 
-# In particular, see  
-# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html> 
-# for a discussion of each configuration directive. 
-# 
- 
-# ServerRoot: The top of the directory tree under which the server's 
-# configuration, error, and log files are kept. 
-# 
-# Do not add a slash at the end of the directory path.  If you point 
-# ServerRoot at a non-local disk, be sure to specify a local disk on the 
-# Mutex directive, if file-based mutexes are used.  If you wish to share the 
-# same ServerRoot for multiple httpd daemons, you will need to change at 
-# least PidFile. 
-# 
-ServerRoot "C:/Program Files/Apache/Apache24" 
- 
- 
-# 
-# Dynamic Shared Object (DSO) Support 
-# 
-LoadModule authn_core_module modules/mod_authn_core.so 
-LoadModule authz_core_module modules/mod_authz_core.so 
- 
-LoadModule headers_module modules/mod_headers.so 
-LoadModule reqtimeout_module modules/mod_reqtimeout.so 
-LoadModule log_config_module modules/mod_log_config.so 
-LoadModule mime_module modules/mod_mime.so 
- 
-LoadModule proxy_module modules/mod_proxy.so 
-#LoadModule proxy_http_module modules/mod_proxy_ajp.so 
-LoadModule proxy_http_module modules/mod_proxy_http.so 
- 
-LoadModule ssl_module modules/mod_ssl.so 
-LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 
- 
-# 'Main' server configuration 
-ServerAdmin glatzert@uni-mainz.de 
-ServerName shib.uni-mainz.de 
- 
-# 
-# Deny access to the entirety of your server's filesystem. You must 
-# explicitly permit access to web content directories in other  
-# <Directory> blocks below. 
-# 
-<Directory /> 
-    AllowOverride none 
-    Require all denied 
-</Directory> 
- 
-DocumentRoot "c:/inetpub/shib.uni-mainz.de" 
-<Directory "c:/inetpub/shib.uni-mainz.de"> 
-    Options None 
- 
-    AllowOverride None 
-    Require all granted 
-</Directory> 
- 
-<Files ".ht*"> 
-    Require all denied 
-</Files> 
- 
-ErrorLog "C:/inetpub/logs/apache/error.log" 
-TransferLog "C:/inetpub/logs/apache/access.log" 
-LogLevel warn 
- 
-<IfModule mime_module> 
-    TypesConfig conf/mime.types 
- 
-    AddType application/x-compress .Z 
-    AddType application/x-gzip .gz .tgz 
-</IfModule> 
- 
-Include conf/extra/httpd-ssl.conf 
-Include conf/extra/shib-sp.conf 
-Include conf/extra/shib-idp.conf 
-</code>  
-<code apache conf/extra/httpd-ssl.conf> 
-## 
-##  SSL Global Context 
-## 
-##  All SSL configuration in this context applies both to 
-##  the main server and all SSL-enabled virtual hosts. 
-## 
- 
-# 
-#   Some MIME-types for downloading Certificates and CRLs 
-# 
-AddType application/x-x509-ca-cert .crt 
-AddType application/x-pkcs7-crl    .crl 
- 
-SSLRandomSeed startup builtin 
-SSLRandomSeed connect builtin 
- 
-SSLProtocol All -SSLv3 
-SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:ECDH+3DES:DH+3DES:RSA+3DES:!aNULL:!eNULL:!LOW:!RC4:!MD5:!EXP:!PSK:!DSS:!SEED:!ECDSA:!CAMELLIA 
-SSLHonorCipherOrder On 
- 
-SSLUseStapling off 
-SSLStaplingCache "shmcb:c:/inetpub/logs/apache/ssl_stapling(512000)" 
-SSLStaplingReturnResponderErrors off 
- 
-SSLSessionCache "shmcb:c:/inetpub/logs/apache/ssl_scache(512000)" 
-SSLSessionCacheTimeout  300 
- 
-SSLCertificateFile "C:/inetpub/shibboleth/idp/credentials/shib.uni-mainz.de.crt" 
-SSLCertificateKeyFile "C:/inetpub/shibboleth/idp/credentials/shib.uni-mainz.de.key" 
-</code> 
-<code apache conf/extra/shib-idp.conf> 
-################################################ 
-# 
-# SingleSignOnService 
-# 
- 
-Listen 443 
- 
-<VirtualHost _default_:443> 
-  DocumentRoot "C:/inetpub/shib.uni-mainz.de" 
-  ServerAdmin glatzert@uni-mainz.de 
- 
-  SSLEngine on 
-  Header add Strict-Transport-Security "max-age=15768000" 
-   
-  <Proxy http://localhost:8080/idp/*> 
-    Require all granted 
-  </Proxy> 
-  ProxyPass /idp/ http://localhost:8080/idp/ 
-</VirtualHost> 
- 
-################################################ 
-# 
-# ArtifactResolutionService und AttributeService 
-# 
- 
-Listen 8443 
- 
-<VirtualHost _default_:8443> 
-  DocumentRoot "C:/inetpub/shib.uni-mainz.de" 
-  ServerAdmin glatzert@uni-mainz.de 
-   
-  SSLEngine on 
-  Header add Strict-Transport-Security "max-age=15768000" 
-   
-  <Proxy http://localhost:8080/idp/*> 
-    Require all granted 
-  </Proxy> 
-  ProxyPass /idp/ http://localhost:8080/idp/ 
-</VirtualHost> 
-</code> 
-<code apache conf/extra/shib-sp.conf> 
-# https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPApacheConfig 
- 
-LoadModule mod_shib C:/inetpub/shibboleth/sp/lib64/shibboleth/mod_shib_24.so 
- 
-<Location /Shibboleth.sso> 
-  AuthType None 
-  Require all granted 
-</Location> 
- 
-<LocationMatch "(/idp/(.*)/SSO)|(/idp/Authn)"> 
-  AuthType shibboleth 
-  ShibRequestSetting requireSession 1 
-  Require shibboleth 
-</LocationMatch> 
-</code> 
- 
-=====SQL DBMS===== 
-Optional, um die Informationen zu User Consent (ehemals uApprove) und persistentId dauerhaft zu speichern. Siehe [[de:shibidp3storage|Storage]]. 
- 
-====MySQL==== 
- 
-===Debian 8=== 
-<code bash> 
-root@idp:~# apt-get install mysql-server mysql-client libmysql-java  
-</code> 
- 
-====PostgreSQL==== 
- 
-Siehe hierzu einstweilen die [[https://www.switch.ch/aai/guides/idp/installation/#sqldatabase|Anleitung der Schweizer Kolleg(inn)en]].  
-Hierzu jedenfalls die entsprechende Java JDBC Komponente installieren (Debian/Ubuntu): 
-<code bash> 
-root@idp:~#  apt-get install libpostgresql-jdbc-java 
-</code> 
-===RHEL=== 
-<code bash> 
-yum install postgresql-server postgresql 
-</code> 
-=====Servlet Container===== 
-====Tomcat 8===== 
-===CentOS 7=== 
-Siehe https://panovski.me/install-tomcat-8-on-centos-7/ 
-===Debian 8=== 
-Die Tomcat-Version in Debian 8 leidet unter einem Bug, der in der Backports-Version behoben wurde. Wir empfehlen daher die Installation aus den Backports: 
-<code bash> 
-root@idp:~# apt-get install -t jessie-backports tomcat8 tomcat8-admin \ 
-           tomcat8-docs libservlet3.1-java 
-</code> 
-Der IdP läuft als Teil von Tomcat natürlich auch mit der Unix-ID des Tomcat-Users. Sofern Sie SSL-Credentials (RSA-Private- und Public-Key) - wie unter Debian/Ubuntu üblich - nach /etc/ssl/private bzw. /etc/ssl/certs legen wollen, müssen Sie den Tomcat-User berechtigen, den RSA-Private-Key unter /etc/ssl/private zu lesen: 
-<code bash> 
-root@idp:~# usermod -aG ssl-cert tomcat8 
-</code> 
-Einige globale Java-Parameter müssen beim Tomcat-Start festgelegt werden. Das IdP-Servlet braucht Zugriff auf das Filesystem und benötigt mehr Speicher, als gemäß den Voreinstellungen vorgesehen ist. Weiterhin lohnt es sich, den Tomcat-Start durch einige zusätzliche Maßnahmen zu beschleunigen, siehe hierzu die entsprechende Seite der [[https://wiki.apache.org/tomcat/HowTo/FasterStartUp#Entropy_Source|Tomcat-Dokumentation]] und die [[https://wiki.shibboleth.net/confluence/display/IDP30/ApacheTomcat8#ApacheTomcat8-SlowStartup|diesbezüglichen Empfehlungen im Shibboleth Wiki]]. 
-<file bash /etc/default/tomcat8> 
-JAVA_OPTS="-Djava.awt.headless=true -Xms1024m -Xmx2048m -XX:+UseConcMarkSweepGC -Djava.security.egd=file:/dev/urandom -Djdk.tls.trustNameService=true" 
-</file> 
- 
-Anmerkungen: 
-  * Sofern Ihr IdP nicht unter /opt/shibboleth-idp installiert wird (nicht emphohlen!) können Sie JAVA_OPTS durch "-Didp.home=/pfad/zur/installation" ergänzen. Details und Alternativen siehe [[https://wiki.shibboleth.net/confluence/display/IDP30/ApacheTomcat8#ApacheTomcat8-RequiredConfigurationChanges|Dokumentation im Shibboleth Wiki]]. 
-Die Liste der "jarsToSkip" in catalina.properties zu erweitern bringt nicht allzu viel Performance-Gewinn beim Tomcat8-Start. Wirklich entscheidend für einen schnellen Start ist, dass in idp.xml im Tomcat-localhost-Context (siehe unten) keinesfalls unpackWAR="false" gesetzt ist und bei JAVA_OPTS das Random-Seed-File wie oben gezeigt gesetzt wird. 
-<file properties /etc/tomcat8/catalina.properties> 
-# falls MySQL inklusive libmysql-java installiert wurde (s.o.), die Pfade entsprechend ergänzen, bei Postgres JDBC Treiber analog verfahren: 
-common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/common/classes","${catalina.home}/common/*.jar","/usr/share/java/postgresql.jar","/usr/share/java/mysql.jar" 
-# [...] 
-# Beschleunigung des Tomcat-Starts: 
-tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\ 
-activation-1.1.jar,\ 
-antlr-2.7.7.jar,\ 
-aopalliance-1.0.jar,\ 
-bcprov-jdk15on-1.51.jar,\ 
-c3p0-0.9.2.1.jar,\ 
-commons-codec-1.10.jar,\ 
-commons-collections-3.2.1.jar,\ 
-commons-compiler-2.7.8.jar,\ 
-commons-lang-2.4.jar,\ 
-cryptacular-1.0.jar,\ 
-dom4j-1.6.1.jar,\ 
-guava-18.0.jar,\ 
-hibernate-commons-annotations-4.0.4.Final.jar,\ 
-hibernate-core-4.3.5.Final.jar,\ 
-hibernate-entitymanager-4.3.5.Final.jar,\ 
-hibernate-jpa-2.1-api-1.0.0.Final.jar,\ 
-httpclient-4.3.6.jar,\ 
-httpclient-cache-4.3.6.jar,\ 
-httpcore-4.3.3.jar,\ 
-idp-attribute-api-3.1.1.jar,\ 
-idp-attribute-filter-api-3.1.1.jar,\ 
-idp-attribute-filter-impl-3.1.1.jar,\ 
-idp-attribute-filter-spring-3.1.1.jar,\ 
-idp-attribute-resolver-api-3.1.1.jar,\ 
-idp-attribute-resolver-impl-3.1.1.jar,\ 
-idp-attribute-resolver-spring-3.1.1.jar,\ 
-idp-authn-api-3.1.1.jar,\ 
-idp-authn-impl-3.1.1.jar,\ 
-idp-cas-api-3.1.1.jar,\ 
-idp-cas-impl-3.1.1.jar,\ 
-idp-consent-3.1.1.jar,\ 
-idp-core-3.1.1.jar,\ 
-idp-profile-api-3.1.1.jar,\ 
-idp-profile-impl-3.1.1.jar,\ 
-idp-profile-spring-3.1.1.jar,\ 
-idp-saml-api-3.1.1.jar,\ 
-idp-saml-impl-3.1.1.jar,\ 
-idp-schema-3.1.1.jar,\ 
-idp-session-api-3.1.1.jar,\ 
-idp-session-impl-3.1.1.jar,\ 
-idp-ui-3.1.1.jar,\ 
-jandex-1.1.0.Final.jar,\ 
-janino-2.7.8.jar,\ 
-javassist-3.18.1-GA.jar,\ 
-java-support-7.1.1.jar,\ 
-javax.json-1.0.4.jar,\ 
-javax.json-api-1.0.jar,\ 
-jboss-logging-3.1.3.GA.jar,\ 
-jboss-logging-annotations-1.2.0.Beta1.jar,\ 
-jboss-transaction-api_1.2_spec-1.0.0.Final.jar,\ 
-jcl-over-slf4j-1.7.10.jar,\ 
-jcommander-1.47.jar,\ 
-joda-time-2.7.jar,\ 
-jsr305-3.0.0.jar,\ 
-ldaptive-1.0.6.jar,\ 
-logback-classic-1.1.2.jar,\ 
-logback-core-1.1.2.jar,\ 
-mail-1.4.7.jar,\ 
-mchange-commons-java-0.2.3.4.jar,\ 
-ognl-2.6.11.jar,\ 
-opensaml-core-3.1.1.jar,\ 
-opensaml-messaging-api-3.1.1.jar,\ 
-opensaml-messaging-impl-3.1.1.jar,\ 
-opensaml-profile-api-3.1.1.jar,\ 
-opensaml-profile-impl-3.1.1.jar,\ 
-opensaml-saml-api-3.1.1.jar,\ 
-opensaml-saml-impl-3.1.1.jar,\ 
-opensaml-security-api-3.1.1.jar,\ 
-opensaml-security-impl-3.1.1.jar,\ 
-opensaml-soap-api-3.1.1.jar,\ 
-opensaml-soap-impl-3.1.1.jar,\ 
-opensaml-storage-api-3.1.1.jar,\ 
-opensaml-storage-impl-3.1.1.jar,\ 
-opensaml-xmlsec-api-3.1.1.jar,\ 
-opensaml-xmlsec-impl-3.1.1.jar,\ 
-slf4j-api-1.7.10.jar,\ 
-spring-aop-4.1.5.RELEASE.jar,\ 
-spring-beans-4.1.5.RELEASE.jar,\ 
-spring-binding-2.4.1.RELEASE.jar,\ 
-spring-context-4.1.5.RELEASE.jar,\ 
-spring-context-support-4.1.5.RELEASE.jar,\ 
-spring-core-4.1.5.RELEASE.jar,\ 
-spring-expression-4.1.5.RELEASE.jar,\ 
-spring-extensions-5.1.1.jar,\ 
-spring-jdbc-4.1.5.RELEASE.jar,\ 
-spring-js-2.4.1.RELEASE.jar,\ 
-spring-js-resources-2.4.1.RELEASE.jar,\ 
-spring-orm-4.1.5.RELEASE.jar,\ 
-spring-tx-4.1.5.RELEASE.jar,\ 
-spring-web-4.1.5.RELEASE.jar,\ 
-spring-webflow-2.4.1.RELEASE.jar,\ 
-spring-webmvc-4.1.5.RELEASE.jar,\ 
-spymemcached-2.11.4.jar,\ 
-stax2-api-3.1.4.jar,\ 
-stax-api-1.0-2.jar,\ 
-velocity-1.7.jar,\ 
-woodstox-core-asl-4.4.1.jar,\ 
-xml-apis-1.0.b2.jar,\ 
-xmlsec-2.0.3.jar 
-</file> 
- 
-In server.xml  
- 
-  * aus Sicherheitsgründen den Default-Port 8080 abschalten 
-  * auf Port 2009 den AJP-Connector aktivieren über den der Webserver Anfragen weiterleitet 
- 
-<file xml /etc/tomcat8/server.xml> 
-<Server port="8005" shutdown="SHUTDOWN"> 
-   <!-- ... --> 
-  <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" /> 
-    <!-- ... --> 
-  </Service>  
-  <!-- ... --> 
-</Server> 
-</file>  
-Außerdem ("Sessions, wollt Ihr ewig leben?"): 
-<file xml /etc/tomcat8/context.xml> 
-<Context> 
-    <!-- ... --> 
-    <!-- Uncomment this to disable session persistence across Tomcat restarts --> 
-    <Manager pathname="" /> 
-    <!-- ...--> 
-</Context> 
-</file> 
-Um das IdP-Servlet in Tomcat zu aktivieren, erstellen Sie folgende Datei im Tomcat-localhost-Context: 
-<code xml /etc/tomcat8/Catalina/localhost/idp.xml> 
-<Context docBase="/opt/shibboleth-idp/war/idp.war" 
-         privileged="true" 
-         unpackWAR="true" 
-         antiResourceLocking="false" 
-         swallowOutput="true" /> 
-</code> 
- 
- 
-====Tomcat 7===== 
- 
-Wir empfehlen Tomcat8, siehe oben. Falls Sie noch Tomcat7 einsetzen ist das folgende vielleicht hilfreich: 
- 
-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 \\ 
-Bei Debian/Ubuntu liegt diese Datei unter /etc/tomcat7/web.xml, bei SLES 12 unter /usr/share/tomcat/conf/web.xml 
- 
-===RHEL=== 
-EPEL installieren 
- 
-RHEL/CentOS 6 32-Bit 
-<code bash> 
-wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm 
-rpm -ivh epel-release-6-8.noarch.rpm 
-</code> 
-RHEL/CentOS 6 64-Bit 
-<code bash> 
-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> 
-yum install tomcat 
-</code> 
-=====Kleinkram===== 
-====Debian 8==== 
-Um die Signatur der Föderationsmetadaten validieren zu können müssen Sie das entsprechende Zertfikat von [[https://www.aai.dfn.de/fileadmin/metadata/dfn-aai.pem|DFN-AAI Portal]] herunterladen und z.B. unter /etc/ssl/aai/dfn-aai.pem ablegen. Der (SHA2) Fingerprint ist unter https://www.aai.dfn.de/teilnahme/metadaten/ dokumentiert 
-<code bash> 
-root@idp:~# mkdir /etc/ssl/aai/ 
-root@idp:~# cd /etc/ssl/aai/ 
-root@idp:~# wget https://www.aai.dfn.de/fileadmin/metadata/dfn-aai.pem 
-</code> 
-Falls noch nicht geschehen, OpenSSL installieren (um später Zertifkat auf dem System verwalten zu können): 
-<code bash> 
-root@idp:~# apt-get install openssl 
-</code> 
-Wer keine Lust hat, später bei jedem install JAVA_HOME neu zu setzen, kann dies auch im jeweiligen home Verzeichnis in .bashrc definieren: 
-<file bash /home/userxy/.bashrc> 
-# ... 
-export JAVA_HOME=/usr 
-</file> 
-(oder für alle User in /etc/profile.d/java.sh) 
- 
-=====Shibboleth Identity Provider===== 
-====Debian 8==== 
-Shib IdP herunterladen, Signatur überprüfen und entpacken. Die aktuelle IdP-Version findet sich stets unter http://shibboleth.net/downloads/identity-provider/latest/ 
-<code bash> 
-root@idp:~# mkdir /opt/install 
-root@idp:~# cd /opt/install 
-root@idp:~# wget http://shibboleth.net/downloads/identity-provider/latest/shibboleth-identity-provider-3.x.x.zip 
-root@idp:~# wget http://shibboleth.net/downloads/identity-provider/latest/shibboleth-identity-provider-3.x.x.zip.asc 
-root@idp:~# wget https://shibboleth.net/downloads/PGP_KEYS 
-root@idp:~# gpg --import PGP_KEYS 
-root@idp:~# gpg --verify shibboleth-identity-provider-3.x.x.zip.asc shibboleth-identity-provider-3.x.x.zip 
-root@idp:~# unzip shibboleth-identity-provider-3.x.x.zip 
-</code> 
-Falls geplant ist, mehrere IdPs parallel zu betreiben, empfiehlt es sich, pro Instanz ein eigenes Installations-Quell-Verzeichnis anzulegen: 
-<code bash> 
-root@idp:~# cp -ar shibboleth-identity-provider-3.x.x shibboleth-identity-provider-3.x.x-idp.uni-beispiel.de 
-</code> 
- 
-**Vor Installation und Konfiguration lohnt sich ein Blick auf die [[https://wiki.shibboleth.net/confluence/display/IDP30/ReleaseNotes|Release Notes]]** 
- 
-Weiter geht es mit der [[de:shibidp3install|Installation]].