FastCGI
Amennyiben úgy szeretnék Shibboleth SP-t beüzemelni, hogy biztonsági, vagy bármilyen egyéb megfontolásokból az FastCGI-ként fusson, úgy az alábbi példa lehet segítségünkre.
Tartalomjegyzék
[elrejtés]FastCGI-ről
Ezt még meg kell írni.
Telepítés
A Lighttpd-t és a Shibboleth-et Debian Lenny rendszerre telepítjük. Az egyszerűség kedvéért mindkét összetevő csomagját a debian oldaláról letölthető forrásból állítjuk elő, majd már a generált csomagból telepítjük.
Lighttpd
Beszerzés
dget http://ftp.de.debian.org/debian/pool/main/l/lighttpd/lighttpd_1.4.19-5.dsc dpkg-source -x *.dsc
Egy ismert bug miatt, amely javítása későbbi lighttpd változatban már szerepel, de a debian csomagban lévőben még nem, emiatt patch-elni kell. Patch letöltése:
wget http://redmine.lighttpd.net/attachments/download/91/fastcgi-authorizer-fixes.diff
Patchelés (a letöltött lighthttpd kitömörített könyvtárában vagyunk):
patch -p0 < fastcgi-authorizer-fixes.diff
Konfigurálnunk kell a fordítás paramétereit
vim debian/rules
Melynek nyomán az alábbi részbe be kell illesztenünk az ssl-es direktívákat tartalmazó sort.
DEB_CONFIGURE_EXTRA_FLAGS += --libdir=/usr/lib/lighttpd --with-openssl \ --with-kerberos5 --with-pcre --with-bz2 \ --with-ldap --with-mysql --with-memcache \ --with-lua=lua5.1 --with-gdbm --with-attr \ --with-openssl --with-openssl-libs=/usr/lib \ --with-webdav-locks --with-webdav-props \ --with-fam
Csomagok elkészítése, majd telepítése
debuild -b cd .. dpkg -i lighttpd_1.4.19-5_i386.deb
Telepítés utáni beállítás:
vim /etc/lighttpd/lighttpd.conf
server.modules szekcióba be kell írni
"mod_fastcgi",
majd ugyanebben a fájlban meg kell adni az alapvető beállításokat mind a 80-as, mind a 443-as portra vonatkozólag
server.name = "sp2.example.org" server.document-root = "/var/www/" $SERVER["socket"] == ":443" { ssl.engine = "enable" ssl.pemfile = "/etc/lighttpd/certs/lighttpd.pem" // ahol a domain-re vonatkozó tanusítványunk található }
Shibboleth
Beszerzés
dget http://ftp.de.debian.org/debian/pool/main/s/shibboleth-sp2/shibboleth-sp2_2.0.dfsg1-4.dsc dpkg-source -x *.dsc
Fordítás előtti hangolás
vim debian/rules
Be kell szúrni a ./configure paramétereit meghatározó sorba:
--with-fastcgi=/usr/sbin/lighttpd (<-- ez nem 100%)
Shibboleth + Lighttpd
Még két beállítást kell eszközölnünk, hogy a webszerver tudja, hogy shibbolethes hívások esetén mi a teendő. Először is a FastCGI beállításokat betöltetjük a lighttpd-vel (ez shibboleth-től függetlenül is kellhet, pl. php futtatása esetén). Egy egyszerű szimbolikus linket készítünk a mods-available könyvtár vonatkozó fájljáról a mods-enabled -be. A második, hogy ezt a fájlt kiegészítjük két, shibboleth specifikus sorral.
"/Shibboleth.sso" => (("socket" => "/tmp/fcgi-resp.sock", "bin-path" => "/usr/lib/shibboleth/shibresponder", "check-local" => "disable", "mode" => "responder")), "/" => (("socket" => "/tmp/fcgi-auth.sock", "bin-path" => "/usr/lib/shibboleth/shibauthorizer", "check-local" => "disable", "mode" => "authorizer")),