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:32]
Raoul Gunnar Borenius
de:shibidp3prepare [2020/04/16 09:01] (aktuell)
Silke Meyer
Zeile 2: Zeile 2:
  
 **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! \\ **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! \\
- 
-===== FreeBSD ===== 
- {{de:idp3_installation_freebsd_tu_freiberg_teil1.txt|Hier eine Anleitung für FreeBSD von den Kollegen aus Freiberg}}. 
- 
-===== Linux und Windows ===== 
- 
-====Java==== 
  
 [[de:shibidp3prepare-java|Java]] [[de:shibidp3prepare-java|Java]]
  
- +[[de:shibidp3prepare-tomcat|Tomcat]]
-====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 ====+
  
 [[de:shibidp3prepare-http|HTTP Server]] [[de:shibidp3prepare-http|HTTP Server]]
  
-=====SQL DBMS===== +[[de:shibidp3prepare-zert|Zertifikate]]
- +
-[[de:shibidp3prepare-db|DB]] +
- +
-=====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===== +Nach dem abarbeiten obiger Punkte geht es weiter mit der [[de:shibidp3install|Installation]].
-====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]].+{{tag>idp3}}
  • Zuletzt geändert: vor 4 Jahren