Shibboleth: Unterschied zwischen den Versionen

Aus Doku-Wiki
Zur Navigation springenZur Suche springen
Zeile 509: Zeile 509:
 
  mkdir /etc/shibboleth2/
 
  mkdir /etc/shibboleth2/
 
* Kopieren der benötigten Dateien  
 
* Kopieren der benötigten Dateien  
  cp $SHIB_HOME/etc/shibboleth/native.logger /etc/shibboleth2/  
+
  cp $SHIB_HOME/etc/shibboleth/* /etc/shibboleth2/*
  cp $SHIB_HOME/etc/shibboleth/shibd.logger /etc/shibboleth2/
+
   
cp $SHIB_HOME/etc/shibboleth/syslog.logger /etc/shibboleth2/
 
 
* Erstellen des Log-Verzeichnis
 
* Erstellen des Log-Verzeichnis
 
  mkdir -p /var/log/shibboleth/  
 
  mkdir -p /var/log/shibboleth/  
Zeile 518: Zeile 517:
 
  chgrp www-data /var/log/shibboleth/native.log  
 
  chgrp www-data /var/log/shibboleth/native.log  
 
  chmod g+w /var/log/shibboleth/native.log
 
  chmod g+w /var/log/shibboleth/native.log
 +
 
===Definieren der Shibboleth-Version===
 
===Definieren der Shibboleth-Version===
 
Wenn noch nicht geschehen (siehe '''"Vorbereitung des Arbeitsverzeichnis für Shibboleth"'''), dann solte jetzt ein Link auf die verwendete Shibboleth-Version gestezt werden:
 
Wenn noch nicht geschehen (siehe '''"Vorbereitung des Arbeitsverzeichnis für Shibboleth"'''), dann solte jetzt ein Link auf die verwendete Shibboleth-Version gestezt werden:

Version vom 11. November 2008, 14:48 Uhr

Inhaltsverzeichnis

Hinweis zur Doku

Diese Doku entstand im wesentlichen mit Hilfe der AAI-DFN Dokumentation

Was ist Shibboleth

Auszug aus Wikipedia
Wikipedia
Shibboleth ist ein vom Internet2/MACE entwickeltes Verfahren zur verteilten Authentifizierung und Autorisierung für Webanwendungen und Webservices. Das Konzept von Shibboleth sieht vor, dass der Benutzer sich nur einmal bei seiner Heimateinrichtung authentisieren muss, um ortsunabhängig auf Dienste oder lizenzierte Inhalte verschiedener Anbieter zugreifen zu können (engl. Single Sign-On). Shibboleth basiert auf einer Erweiterung des Standards SAML.


Allgemein

Die nachfolgende Beschreibung bezieht sich auf folgende Systemvoraussetzungen:

Debian Etch
Tomcat 5.5
Shibbileth 1.3.3
Shibboleth IDP 2.0 
Shibboleth SP 2.1

IdP Identity-Provider

IDP Version 1.3

Anpassungen in der Sources.list

Für die Installation von Tomcat wird das Java-Run-Time-Environment als auch das Java-Development-Kit
benötig. Diese findet sich im non-free Zweig von Debian.
Es muss eventuell die Datei /etc/apt/sources.list angepasst werden.

deb http://ftp.debian.org/debian etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free

Installation von Java

  • Achtung, für Java werden die non-free Quellen benötigt:
deb http://ftp.debian.org/debian               stable         main contrib non-free
deb http://security.debian.org/debian-security stable/updates main contrib non-free

aptitude update
aptitude install sun-java5-jdk

Konfiguration

Falls schon eine andere Version von Java installiert ist, kann man mit folgendem Befehl sicher stellen,
dass das Java-Kommando auf das eben installierte zegt:

update-alternatives --config java

  Auswahl      Alternative
-------------------------------------------------------
          1    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
*         2    /usr/bin/gij-wrapper-4.1
+         3    /usr/lib/jvm/java-gcj/jre/bin/java
--------------------------------------------------------

Mit auswahl der Nummer wird die richtige Version aktiviert. Hier die Nummer 3

Installation von Tomcat

aptitude install tomcat5.5

Konfiguration

/etc/default/tomcat5.5
TOMCAT5_SECURITY=no
Tomcat und SSL

Damit der IdP der mit der Unix-ID des Tomcat-Users läuft, auf die SSL-Zertifikate zugreifen kann,
müssen die Recht noch entsprechend angepasst werden:
Zertifikats-Speicher: /etc/ssl/private

# groupadd ssl-cert
# adduser tomcat55 ssl-cert
# chgrp ssl-cert /etc/ssl/private
# chmod g+rw /etc/ssl/privat

Installation Apache2

# aptitude install apache2 libapache2-mod-jk
# a2enmod jk
# a2enmod ssl

Wenn die Benutzeranmeldung über einen LDAP realisiert wird, benötigt man noch folgendes Modul:

# a2enmod authnz_ldap

Danach dann einmal:

# /etc/init.d/apache2 force-reload

Installation Shibboleth IdP

  • Mit wget wird das Shibbolethpaket auf den Server geladen.

Unter folgendem wget Link sind die aktuellen Pakete zu finden. Bitte immer erst nachschauen, welche Version die aktuellste ist.

  • Wenn man sich für eine Versio entschieden hat, wird es mit wget auf den Server geladen:
  • Java-Installation überprüfen. Es muss folgende Version aktiv sein:
/usr/lib/jvm/java-1.5.0-sun/jre/bin/java

Geprüft wird das mit folgendem Befehl:

 # update-alternatives --config java

 There are 3 alternatives which provide `java'.

 Selection    Alternative
-----------------------------------------------
*         1    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
          2    /usr/bin/gij-wrapper-4.1
 +        3    /usr/lib/jvm/java-gcj/jre/bin/java

Press enter to keep the default[*], or type selection number:
  • Jetz kann der Shibboleth IdP instaliert werden:
# cd /usr/local/src/
# wget http://shibboleth.internet2.edu/downloads/shibboleth-idp-1.3.3.tar.gz
# tar xzvf shibboleth-idp-1.3.3.tar.gz
# cd shibboleth-1.3.3-install
# JAVACMD=/usr/bin/java ./ant
ACHTUNG: Hier können die Vorgaben mit Enter bestätigt werden.
ACHTUNG: NUR die Angabe des Home-Verz. von Tomcat MUSS angepasst werden: /var/lib/tomcat5.5
  • Rechte anpassen
# chown tomcat55 /usr/local/shibboleth-idp/logs
# chmod 755      /usr/local/shibboleth-idp/bin/*

Konfiguration Shibboleth IdP

Anleitung DFN AAI

IDP Version 2.0

Installation

Anpassen der /etc/apt/sources.list

In der sources.list muss der non-free Eintrag vorhaden sein, damit das Java-Paket von SUN installiert werden kann:

# cat /etc/apt/sources.list
  deb http://ftp.debian.org/debian               stable         main contrib non-free
  deb http://security.debian.org/debian-security stable/updates main contrib non-free

Benötigte Pakete installieren

# aptitude update
# aptitude install sun-java5-jdk tomcat5.5 apache2 libapache2-mod-jk

Java

# update-alternatives --config java
Es gibt 3 Alternativen, die »java« bereitstellen.

 Auswahl      Alternative
 -----------------------------------------------
           1    /usr/bin/gij-wrapper-4.1
  +        2    /usr/lib/jvm/java-gcj/jre/bin/java
 *         3    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
# update-alternatives --config javac
Es gibt 4 Alternativen, die »javac« bereitstellen.

 Auswahl      Alternative
 -----------------------------------------------
           1    /usr/bin/ecj-bootstrap
           2    /usr/bin/gcj-wrapper-4.1
  +        3    /usr/lib/jvm/java-gcj/bin/javac
 *         4    /usr/lib/jvm/java-1.5.0-sun/bin/javac
# update-alternatives --config keytool
Es gibt 3 Alternativen, die »keytool« bereitstellen.

 Auswahl      Alternative
 -----------------------------------------------
           1    /usr/bin/gkeytool-4.1
  +        2    /usr/lib/jvm/java-gcj/jre/bin/keytool
 *         3    /usr/lib/jvm/java-1.5.0-sun/jre/bin/keytool

Tomcat 5.5

Einige globale Java-Parameter müssen beim Tomcat-Start festgelegt werden.
Das IdP-Servlet braucht Zugriff auf das Filesystem und braucht mehr Speicher als von Debian in vorgesehen ist:

# vi /etc/default/tomcat5.5
  JAVA_OPTS="-Djava.awt.headless=true -Xmx512M -XX:MaxPermSize=512M"
  TOMCAT5_SECURITY=no

Tomcat starten

# /etc/init.d/tomcat5.5 start

Apache 2

Für den https-Support wird das Modul 'mod_ssl' benötigt:

# a2enmod ssl

Ausserdem braucht man noch für die Weiterleitung der Anfragen an den IdP der im Tomcat läuft das entsprechende Proxy-Modul für das Apache-Java-Protokoll:

# a2enmod proxy_ajp

Danach aktivieren Sie die Module mit:

# /etc/init.d/apache2 force-reload

Shibboleth-Identity-Provider installieren

# cd /usr/local
# wget http://shibboleth.internet2.edu/downloads/shibboleth/idp/latest/shibboleth-idp-2.0.0-bin.zip
# unzip shibboleth-idp-2.0.0-bin.zip
# cd identityprovider/
  • Dann wird die Instalation gestartet:
# JAVA_HOME=/usr ./ant.sh
Buildfile: build.xml

install: 
Is this a new installation? Answering yes will overwrite your current configuration. [yes|no]
yes
Where should the Shibboleth Identity Provider software be installed? [default: /opt/shibboleth-idp-2.0.0]
 
What is the hostname of the Shibboleth Identity Provider server? [default: idp.example.org]
idp.beispiel-uni.de
A keystore is about to be generated for you. Please enter a password that will be used to protect it.
changeit
Updating property file: /home/raoul/identityprovider/install.properties
Created dir: /opt/shibboleth-idp-2.0.0
Created dir: /opt/shibboleth-idp-2.0.0/bin
Created dir: /opt/shibboleth-idp-2.0.0/conf
Created dir: /opt/shibboleth-idp-2.0.0/credentials
Created dir: /opt/shibboleth-idp-2.0.0/lib
Created dir: /opt/shibboleth-idp-2.0.0/lib/endorsed
Created dir: /opt/shibboleth-idp-2.0.0/logs
Created dir: /opt/shibboleth-idp-2.0.0/metadata
Created dir: /opt/shibboleth-idp-2.0.0/war
Generating signing and encryption key, certificate, and keystore. 
Copying 5 files to /opt/shibboleth-idp-2.0.0/bin
Copying 8 files to /opt/shibboleth-idp-2.0.0/conf
Copying 1 file to /opt/shibboleth-idp-2.0.0/metadata
Copying 38 files to /opt/shibboleth-idp-2.0.0/lib
Copying 4 files to /opt/shibboleth-idp-2.0.0/lib/endorsed
Copying 1 file to /home/raoul/identityprovider/build/WEB-INF
JARs are never empty, they contain at least a manifest file
Building jar: /opt/shibboleth-idp-2.0.0/war/idp.war
 
BUILD SUCCESSFUL
Total time: 40 seconds
  • Link anlegen

Um sich bei späteren Updates die Arbeit zu erleichtern, legt man nach der Installation einen Link auf die
aktuelle Version. Nach der Installation einer neuen Version, muss dann nur der Link angepasst werden.

ln -s /opt/shibboleth-idp-2.0.0 /opt/shibboleth-idp
  • Zugriffsrechte anpassen:
# chown tomcat55 /opt/shibboleth-idp-2.0.0/{metadata,logs}
  • Die Shibboleth-Entwickler empfehlen noch folgende Änderungen an der Tomcat-Installation zu machen:
# rm /usr/share/tomcat5.5/common/endorsed/*
# cp endorsed/* /usr/share/tomcat5.5/common/endorsed/

Welche Ausswirkungen diese Änderun auf andere Servlets (falls vorhanden), sollte getestet werden.

  • Java-Installation noch um den shibboleth-security-Provider erweitern:
# cp /usr/local/identityprovider/lib/shib-jce-1.0.jar /usr/lib/jvm/java-1.5.0-sun/jre/lib/ext/
  • Um den Provider zu aktivieren muß noch ein Eintrag in der Java-Security-Config gemacht werden:
# vi /etc/java-1.5.0-sun/security/java.security

  • Bitte nach den vorhandenen 'security.provider'-Einträgen einfügen und dabei die Zahl grösser wählen als die bei den schon vorhandenen.
security.provider.7=edu.internet2.middleware.shibboleth.DelegateToApplicationProvider


Shibboleth-Identity-Provider konfiguration

Zertifikat

Auch für den IDP wird ein Zertifikat benötigt.

  • Zertifikats-Request erzeugen
# cd /opt/shibboleth-idp/credentials/
# openssl req -new -key idp.key -out idp.csr

Diese Request wird der DFN PKI mit dem Profil Shibboleth IDP/SP eingereicht und signiert.

  • Zertifikat einbinden
# keytool -import -alias idp.example.com -file idp.crt -keystore idp.jks

Am besten benennt man das neue Zertifikat in idp.crt und idp.key um.
Bei der Installation wurden diese Dateien schon in den Konfigurationsdateien eingebunden.

Apache
# SingleSignOnService 
 # https://idp.example.com/idp/profile/SAML2/POST/SSO
 # https://idp.example.com/idp/profile/SAML2/Redirect/SSO
 # https://idp.example.com/idp/profile/Shibboleth/SSO 

Listen [10.10.10.10]:443

#
# Bitte 'idp.example.com' ersetzen durch den Namen Ihres IdPs!
#
<VirtualHost []10.10.10.10.:443>
  ServerName              idp.example.com
  SSLEngine               on
  SSLCertificateFile      /opt/shibboleth-idp/credentials/idp.crt
  SSLCertificateKeyFile   /opt/shibboleth-idp/credentials/idp.key
  #SSLCertificateChainFile /opt/shibboleth-idp/credentials/ca-chain.crt
 
  # alle Anfragen die mit /idp/ anfangen werden per Apache Java
  # Protokoll an Tomcat durchgereicht:
  
  <Location /idp>
    Allow from           all
  </Location>
  ProxyPass /idp/ ajp://localhost:8009/idp/
</VirtualHost>

# ArtifactResolutionService und AttributeService
#
 # https://idp.example.com:8443/idp/profile/SAML1/SOAP/ArtifactResolution
 # https://idp.example.com:8443/idp/profile/SAML2/SOAP/ArtifactResolution
 #
 # https://idp.example.com:8443/idp/profile/SAML1/SOAP/AttributeQuery
 # https://idp.example.com:8443/idp/profile/SAML2/SOAP/AttributeQuery 
# 
Listen 8443

# Bitte 'idp.example.com' ersetzen durch den Namen Ihres IdPs!

<VirtualHost [10.10.10.10]:8443>
  ServerName              idp.example.com
  SSLEngine               on
  SSLCertificateFile      /opt/shibboleth-idp/credentials/idp.crt
  SSLCertificateKeyFile   /opt/shibboleth-idp/credentials/idp.key
  #SSLCertificateChainFile /opt/shibboleth-idp/credentials/ca-chain.crt
 
  <Location /idp>
    Allow from            all
    SSLOptions            +StdEnvVars +ExportCertData
    SSLVerifyClient       optional_no_ca
    SSLVerifyDepth        10
  </Location>
  ProxyPass /idp/ ajp://localhost:8009/idp/
 
</VirtualHost>

Nachdem Sie Apache neu gestartet haben testen Sie bitte als erstes ob die Weiterleitung an Tomcat funktioniert indem Sie die URL


 https://idp.example/idp/ 
 

aufrufen. Es sollte die Tomcat-Fehlermeldung 'The requested resource (/idp/) is not available' zu sehen sein da das IdP-Servlet noch nicht im Tomcat eingebunden ist. Sollten Sie aber eine Apache-Fehlermeldung bekommen (z.B. 'internal server error' oder 'permission denied') dann konsultieren Sie bitte die Apache-Logs um das Problem bei der Weiterleitung an Tomcat zu finden und zu beseitigen.

Tomcat
  • Folgende Datei ist für die Tomcat-Konfiguration zuständig:

/etc/tomcat5.5/server.xml

<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.core.AprLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

  <GlobalNamingResources>

    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>

    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />

  </GlobalNamingResources>

  <Service name="Catalina">

       <Connector port="8009"
                  request.tomcatAuthentication="false"
                  address="127.0.0.1"
                  enableLookups="false"
                  redirectPort="8443"
                  protocol="AJP/1.3" />

    <Engine name="Catalina" defaultHost="localhost">

       <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
            resourceName="UserDatabase"/>

       <Host name="localhost" appBase="webapps"
          unpackWARs="true" autoDeploy="true"
          xmlValidation="false" xmlNamespaceAware="false">
       </Host>

    </Engine>
  </Service>
</Server>
  • Um das IdP-Servlet im Tomcat zu aktivieren erstellen Sie folgende Datei:

/var/lib/tomcat5.5/conf/Catalina/localhost/idp.xml

<Context docBase="/opt/shibboleth-idp/war/idp.war"
        privileged="true"
        antiResourceLocking="false"
        antiJARLocking="false"
        unpackWAR="false" />

Die "docBase" verweist auf den Link, so kann man bei einem Shibboleth-Update sich viel Arbeit sparen.
Man muss dann nur den Link umsetzen, statt die Konfigurationsdateien zu ändern.

  • Jetzt kann der erste Test vorgenommen werden

Mit der URL


 https://idp.example.com/idp/profile/Status 
 

kan die Funktion getestet werden. Es sollt ein "ok" erscheinen.

IDP 2
  • relying-party.xml

Die Kongurationsdateien des Identity-Providers liegen im Verzeichnis /opt/shibboleth-idp-2.0.0/conf. Die ant-Installationsroutine sollte schon die richtigen Voreinstellungen gemacht haben wenn Sie dabei den richtigen FQDN Ihres IdPs angegeben haben (vergleiche die Installationsanleitung!).

In relying-party.xml müssen Sie nur noch die URL zu den DFN-AAI-Test-Metadaten festlegen. Ausserdem sollten Sie unbedingt die Signatur-Verifikation nutzen die der IdP anbietet! Dazu brauchen Sie die Datei dfn-aai.pem welche unsere CA-Zertifikats-Kette enthält und auf unserer Metadaten-Seite heruntergeladen werden kann.

/opt/shibboleth-idp/relying-party.xml

...
  <!-- Metadaten über das Internet abgleichen -->
  <MetadataProvider id="URLMD" xsi:type="FileBackedHTTPMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata"
                         metadataURL="http://www.aai.dfn.de/fileadmin/metadata/DFN-AAI-Test-metadata.xml"
                         backingFile="/opt/shibboleth-idp/metadata/metadata.xml" />
...
  <security:Credential id="IdPCredential" xsi:type="security:X509Filesystem">
       <security:PrivateKey>/opt/shibboleth-idp/credentials/idp.key</security:PrivateKey>
       <security:Certificate>/opt/shibboleth-idp/credentials/idp.crt</security:Certificate>
   </security:Credential>
...

SP Service-Provider

Version 2.1

Die ursprüngliche engl. Doku finden sie hier

Voraussetzungen für die Installation von Shibboleth SP 2.1

Installation benötigter Pakete

aptitude install apache2 openssl ntp gcc g++ make 
aptitude install libssl0.9.8 libssl-dev libcurl3 libcurl3-dev apache2-threaded-dev

Build-Verzeichnis erstellen

export MYBUILD=/usr/local/src/shib-sp-2.1
mkdir $MYBUILD

Download der benötigten Shibboleth-Pakete

cd $MYBUILD
wget http://shibboleth.internet2.edu/downloads/log4shib/latest/log4shib-1.0.1.tar.gz
wget http://mirror.switch.ch/mirror/apache/dist/xerces/c/2/sources/xerces-c-src_2_8_0.tar.gz
wget http://xml.apache.org/security/dist/c-library/xml-security-c-1.4.0.tar.gz
wget http://shibboleth.internet2.edu/downloads/opensaml/cpp/latest/xmltooling-1.1.tar.gz
wget http://shibboleth.internet2.edu/downloads/opensaml/cpp/latest/opensaml-2.1.tar.gz
wget http://shibboleth.internet2.edu/downloads/shibboleth/cppsp/latest/shibboleth-sp-2.1.tar.gz

Auspacken der Pakete

for f in $MYBUILD/*.tar.gz; do tar -xzvf $f -C $MYBUILD; done

Pakete kompilieren

Umgebungsvariablen anlegen

export SHIB_HOME=/opt/shibboleth-sp-2.1/ 
export XERCESCROOT=$MYBUILD/xerces-c-src_2_8_0/

Zielverzeichnis anlegen

mkdir $SHIB_HOME

1. Log4Shib:

cd $MYBUILD/log4shib-1.0.1/
./configure --disable-static --disable-doxygen --prefix=$SHIB_HOME
make
make install

2. XercesC:

cd $MYBUILD/xerces-c-src_2_8_0/src/xercesc/
./runConfigure -p linux -r pthread -P $SHIB_HOME
make
env XERCESCROOT=$XERCESCROOT make install

3. XML-Security:

cd $MYBUILD/xml-security-c-1.4.0
./configure --without-xalan --prefix=$SHIB_HOME
make
env XERCESCROOT=$XERCESCROOT make install

4. XML-Tooling:

cd $MYBUILD/xmltooling-1.1/
./configure --with-log4shib=$SHIB_HOME --prefix=$SHIB_HOME -C
make
make install

5. OpenSAML:

cd $MYBUILD/opensaml-2.1/
./configure --prefix=$SHIB_HOME --with-log4shib=$SHIB_HOME -C
make 
make install

6. Shibboleth Service Provider:

cd $MYBUILD/shibboleth-2.1/
./configure --with-saml=$SHIB_HOME --enable-apache-22 --with-log4shib=$SHIB_HOME --prefix=$SHIB_HOME -C 
make
make install

Vorbereitung des Arbeitsverzeichnis für Shibboleth

  • Um nicht bei jeder neuen Shibboleth-Version die Konfigurationsdateien anpassen zu müssen, wird ein Link auf die aktuell verwendete Version angelegt. Wenn eine neue Version verwendet werden soll, muss nach der Installation nur der Link neu gesetzt werden
ln -s /opt/shibboleth-sp-2.1 /opt/shibboleth-sp2

Shibboleth Abache2 Module installieren

  • Die Datei /etc/apache2/mods-available/shib.load anlegen:
# Load the shibboleth module
LoadModule mod_shib /opt/shibboleth-sp2/lib/shibboleth/mod_shib_22.so
  • Die Datei /etc/apache2/mods-available/shib.conf anlegen:
# Global Configuration
# This is the XML file that contains all the global, non-apache-specific
# configuration.  Look at this file for most of your configuration parameters.
ShibConfig /etc/shibboleth2/shibboleth2.xml

# Used for example logo and style sheet in error templates.
<IfModule mod_alias.c>
  <Location /shibboleth-sp>
    Allow from all
  </Location>
  Alias /shibboleth-sp/main.css /opt/shibboleth-sp2/share/doc/shibboleth/main.css
  Alias /shibboleth-sp/logo.jpg /opt/shibboleth-sp2/share/doc/shibboleth/logo.jpg
</IfModule>
  • Anpassen der Apache-Konfiguration
vi /etc/apache2/envvars
...
...
# This file is generated from envvars-std.in
#

export LD_LIBRARY_PATH=/opt/shibboleth-sp2/lib
  • Aktivieren des Apache Shibboleth Modul
a2enmod shib

Installation des Shibboleth-Daemon

  • Das Startscript des Shibboleth-Deamon in das Verzeichnis /etc/init.d/ kopieren:
cp $SHIB_HOME/etc/shibboleth/shibd-debian /etc/init.d/shibd
  • Das Startscript anpassen:
vi /etc/init.d/shibd

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DESC="Shibboleth 2 daemon"
NAME=shibd
SHIB_HOME=/opt/shibboleth-sp2/
SHIBSP_CONFIG=/etc/shibboleth2/shibboleth2.xml
LD_LIBRARY_PATH=$SHIB_HOME/lib
DAEMON=$SHIB_HOME/sbin/shibd
SCRIPTNAME=/etc/init.d/$NAME
PIDFILE=/var/run/$NAME.pid

...
  • Init-Einträge in den Runlevel:
chmod +x /etc/init.d/shibd
update-rc.d shibd defaults

Vorbereiten der Benutzerdefinierten konfiguration

ACHTUNG:
Die folgenden Schritte werden nur bei einer Neuinstallaton benötigt.
Bei einem Update wird durch die folgenden Schritte die Konfiguration überschrieben

  • Verzeichnis für die Konfigurationsdateien anlegen
mkdir /etc/shibboleth2/
  • Kopieren der benötigten Dateien
cp $SHIB_HOME/etc/shibboleth/* /etc/shibboleth2/* 

  • Erstellen des Log-Verzeichnis
mkdir -p /var/log/shibboleth/ 
touch /var/log/shibboleth/shibd.log 
touch /var/log/shibboleth/native.log 
chgrp www-data /var/log/shibboleth/native.log 
chmod g+w /var/log/shibboleth/native.log

Definieren der Shibboleth-Version

Wenn noch nicht geschehen (siehe "Vorbereitung des Arbeitsverzeichnis für Shibboleth"), dann solte jetzt ein Link auf die verwendete Shibboleth-Version gestezt werden:

ln -s /opt/shibboleth-sp-2.1 /opt/shibboleth-sp2

Links

DFN AAI
verteilte Authentifizierung,Autorisierung und Rechteverwaltung (AAR)
Internet2/MACE