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/27 07:11] – [Tomcat 8] 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> 
- 
-Damit der Tomcat die MySQL-Java-Library beim Starten einliest (damit der IdP sie dann verwenden kann) wird 
-diese üblicherweise in /etc/tomcat8/catalina.properties in den "common.loader" aufgenommen. Dies hat den Nachteil dass diese Datei dann bei jedem Upgrade manuell mit einer neuen catalina.properties verglichen werden muss. Man kann sich die Arbeit ersparen (sofern man dort nicht sowieso Anpassungen machen muss was beim Einsatz des IdPs als einziges Servlet im Tomcat aber nicht nötig sein sollte!) indem man die mysql-Datei in das Runtime-Lib-Verzeichnis von Tomcat verlinkt. Dort wird sie dann automatisch eingelesen: 
- 
-<code bash> 
-root@idp:~# mkdir -p /var/lib/tomcat8/lib 
-root@idp:~# ln -s /usr/share/java/mysql.jar /var/lib/tomcat8/lib 
-root@idp:~# systemctl restart tomcat8 
-</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> 
- 
-Als letztes muss noch die Java Server Tag Libarary 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): 
- 
-<code bash> 
-root@idp:~# cd /var/lib/tomcat8/lib 
-root@idp:/var/lib/tomcat8/lib# wget https://build.shibboleth.net/nexus/service/local/repositories/thirdparty/content/javax/servlet/jstl/1.2/jstl-1.2.jar 
-root@idp:/var/lib/tomcat8/lib# systemctl restart tomcat8 
-</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]]. 
  • Zuletzt geändert: vor 8 Jahren