Shib2IdpRHEL
Tartalomjegyzék
[elrejtés]Előkészületek
entityID
Tanúsítvány
JDK
https://wiki.shibboleth.net/confluence/display/SHIB2/JVMTuning
[idp2:~/java]$ sudo_ssh rpm -Uvh jdk-6u7-linux-i586.rpm Preparing... ########################################### [100%] 1:jdk ########################################### [100%] Unpacking JAR files... rt.jar... jsse.jar... charsets.jar... tools.jar... localedata.jar... plugin.jar... javaws.jar... deploy.jar...
A többi rpm-mel nem törődünk.
Shibboleth Security Provider
Be kell másolni a lib/shib-jce-1.0.jar
állományt a $JAVA_HOME/jre/lib/ext
könyvtárba. Ha az ext/
könyvtár nem létezik, akkor hozzuk létre.
cp lib/shib-jce-1.0.jar $JAVA_HOME/jre/lib/ext
Ezek után be kell állítani, hogy a JRE használni is tudja ezt a providert. Ehhez a $JAVA_HOME/jre/lib/security/java.security
fájlban keressük meg az ún. "security provider"-eket, és írjuk hozzá a következő sort:
security.provider.7=edu.internet2.middleware.shibboleth.DelegateToApplicationProvider
- Megj.: a "security.provider." után következő szám mindig a megelőzőnél legyen eggyel nagyobb!
Bouncy Castle JCE
A JVM-mel jövő Java Cryptography Engine (JCE) nem támogatja az összes kriptográfiai algoritmust, amelyre az Identity Providernek szüksége lehet (pl. XML Digital Signature, XML Encryption). A Bouncy Castle JCE ezek mellett még olyan algoritmusokat is tartalmaz (általában hatékonyabb és szabványosabb formában), amelyek benne vannak a Java JCE-ben.
Ehhez először le kell tölteni a Bouncy Castle JCE-t. A JCE állományok a Provider oszlopban, a "Signed Jar Files" részben találhatók. (A nevük bcprov-jdk-VERZIO.jar
.) Letöltés után a .jar fájlokat a $JAVA_HOME/jre/lib/ext
könyvtárba kell tenni.
wget http://www.bouncycastle.org/download/bcprov-jdk15-141.jar cp bcprov-jdk15-141.jar $JAVA_HOME/jre/lib/ext
Ezek után be kell állítani, hogy a JRE használni is tudja ezt a providert. Ehhez a $JAVA_HOME/jre/lib/security/java.security
fájlban keressük meg az ún. "security provider"-eket, és írjuk hozzá a következő sort:
security.provider.8=org.bouncycastle.jce.provider.BouncyCastleProvider
- Megj.: a "security.provider." után következő szám mindig a megelőzőnél legyen eggyel nagyobb!
Tomcat
Tomcat 6-ot fogunk használni, AJP connectorral
https://wiki.shibboleth.net/confluence/display/SHIB2/IdPApacheTomcatPrepare
#XXX-TODO useradd tomcat cd /usr/local tar xzf ~/apache-tomcat-6.0.18.tar.gz ln -s apache-tomcat-6.0.18 tomcat cd tomcat mv conf /etc/tomcat ; ln -s /etc/tomcat conf mv logs /var/log/tomcat; ln -s /var/log/tomcat logs mkdir /var/lib/tomcat mv temp /var/lib/tomcat; ln -s /var/lib/tomcat/temp . mv webapps /var/lib/tomcat; ln -s /var/lib/tomcat/webapps . mv work /var/lib/tomcat; ln -s /var/lib/tomcat/work . chown -R tomcat:tomcat /etc/tomcat /var/log/tomcat /var/lib/tomcat
Konfiguráció
A /etc/tomcat/server.xml
-ben módosítani kell a 8009-es porton figyelő Connectort az alábbira:
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
protocol="AJP/1.3" redirectPort="8443"
enableLookups="false" tomcatAuthentication="false"
address="127.0.0.1"/>
Init script
Az alábbi házi készítésű init script használható a tomcat elindításához:
#!/bin/bash # # chkconfig: - 85 15 # processname: tomcat # description: Start up the Tomcat servlet engine. # Source function library. . /etc/init.d/functions PATH=/bin:/usr/bin:/sbin:/usr/sbin export JAVA_HOME=/usr/java/default CATALINA_HOME="/usr/local/tomcat" TOMCAT_USER=tomcat # Max. heap size: 512 MB # Memory allowed for the permanent generation object space: 256 MB export JAVA_OPTS="-Xmx512m -XX:MaxPermSize=256m" if [ `id -u` -ne 0 ]; then echo "You need root privileges to run this script" exit 1 fi case "$1" in start) if [ -f $CATALINA_HOME/bin/startup.sh ]; then echo $"Starting Tomcat" su -c "$CATALINA_HOME/bin/startup.sh" -s /bin/bash $TOMCAT_USER fi ;; stop) if [ -f $CATALINA_HOME/bin/shutdown.sh ]; then echo $"Stopping Tomcat" su -c "$CATALINA_HOME/bin/shutdown.sh" -s /bin/bash $TOMCAT_USER fi ;; restart) $0 stop sleep 2; $0 start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 ;; esac exit $?
A következő parancsok hatására a Tomcat automatikusan elindul bootoláskor:
chkconfig --add tomcat chkconfig tomcat on