Installazione di Shibboleth2-Sp su Xserve (sistemi 10.5 Leopard)

Da sia.
Vai alla navigazione Vai alla ricerca

Requisiti di sistema

Xserve con Mac OSX 10.5 (Leopard)

Preparazione dell'ambiente

Prima di tutto abbiamo bisogno degli XCode presenti nel DVD di installazione del sistema. Inseriamo il DVD e muoviamoci verso Other ====> Applications ====> XCode.dmg.

Doppioclicchiamo e installiamo gli XCode nella partizione di sistema, ovvero dove e' installato il sistema operativo.

Ora abbiamo bisogno del pacchetto port facente parte del MacPorts Project, un progetto opensource pensato per rendere easy-to-use il download, la configurazione e la compilazione dei pacchetti e delle loro dipendenze su Mac OSX. Tutti i pacchetti scaricati attraverso il port sono rilasciati sotto licenza BSD.

Il pacchetto port ci serve per recuperare Shibboleth-Sp e le sue dipendenze, compilarlo e installarlo sul sistema operativo. Scarichiamo quindi il pacchetto da qui, selezionando la versione per Leopard (Universal),apriamolo e installiamolo sulla partizione di sistema.

Shibboleth2 e' supportato solo su Apache versione a 32 bit. Siccome su MacOSX Apache parte di default a 64 bit dobbiamo configurarlo in modo che sia avviato in versione a 32 bit

# vi /usr/sbin/apachectl

cambiamo la riga in:

HTTPD="arch -i386 /usr/sbin/httpd"

poi editiamo

# vi /System/Library/LaunchDaemons/org.apache.httpd.plist

fino a farlo diventare

<array>
   <string>arch</string>    <-- new line
   <string>-i386</string>   <-- new line
   <string>/usr/sbin/httpd</string>
   <string>-D</string>
   <string>FOREGROUND</string>
</array>

Per verificare digitiamo:

sh-3.2# httpd -V
Server version: Apache/2.2.14 (Unix)
Server built:   Feb  8 2010 23:48:18
Server's Module Magic Number: 20051115:23
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   32-bit
Server MPM:     Prefork
threaded:     no
forked:     yes (variable process count)
[snip]

Installazione di Shibboleth2-Sp

Sfortunatamente Shibboleth2-Sp non rientra nei repository di default di port. Dobbiamo pertanto scaricare manualmente il tree di shibboleth e configurare port perche' usi anche questo tree.

$ curl http://shibboleth.internet2.edu/downloads/shibboleth/cppsp/latest/mac/ports.tar | tar xv

Una volta scaricato il tree che troveremo nella directory ports, dobbiamo inserirla nel sistema macports come repository, editando il suo source file:

$ sudo -s
# vi /opt/local/etc/macports/sources.conf

in questo file inseriamo la riga

file:///percorso-di-sistema/ports         

ATTENZIONE: inseriamola come prima riga utile del file di configurazione in quanto il pacchetto xercesc del dafault repository non funziona con shibboleth2, quindi bisogna usare quello del tree.

Ora possiamo iniziare l'installazione di shibboleth2 e degli altri pacchetti necessari e procediamo a linkare i giusti pacchetti con l'ambiente di lavoro, in quanto tutti i pacchetti installati con macports si trovano in

/opt/local/

verifichiamo la versione di openssl con:

# openssl version

che ci restituisce le versione del pacchetto e che deve essere >= di 0.9.8. Se cosi' e' saltate il passaggio successivo e andate direttamente all'installazione di curl altrimenti dovete installare openssl da port e linkarlo nei path di sistema. quindi digitiamo:

# port install openssl
# ln -s /opt/local/lib/libssl.0.9.8.dylib /usr/lib/libssl.0.9.8.dylib
# mv /usr/bin/openssl /usr/bin/openssl97
# ln -s /opt/local/bin/openssl /usr/bin/openssl

Ora installiamo Curl con il supporto a ssl

# port install curl +ssl
# mv /usr/bin/curl /usr/bin/curl.old
# ln -s /opt/local/bin/curl /usr/bin/curl

Per ultimo installiamo shibboleth digitando:

# port install shibboleth

Preconfigurazione

ATTENZIONE: questi passi sono da fare solo alla prima installazione in quanto sovrascrivono il file di configurazione di shibboleth

$ sudo -s
# cd /opt/local/etc/shibboleth
# ls -1 *.dist | sed -e 's/\.dist//' | xargs -I % cp "%.dist" "%"
# sh ./keygen.sh

Configurazione

Una volta terminata l'installazione, possiamo procedere alla configurazione.

# vi /opt/local/etc/shibboleth/apache22.config
# vi /opt/local/etc/shibboleth/shibboleth2.xml

Per implementare shibboleth in apache, aggiungiamo come ultima riga in /etc/apache2/httpd.conf:

Include /opt/local/etc/shibboleth/apache22.config

Dopo aver configurato shibboleth2 e apache facciamo ripartire i servizi stando attenti alla giusta sequenza di comandi:

# launchctl unload /Library/LaunchDaemons/org.macports.shibd.plist
# service org.apache.httpd stop
# service org.apache.httpd start
# launchctl load -Fw /Library/LaunchDaemons/org.macports.shibd.plist

Con le opzioni -Fw si fa in modo che ad un eventuale riavvio della macchina si avvii anche shibd e che apache carichi automaticamente il modulo di shibboleth.

Buon divertimento :)