Instalace IdP 1.3, Debian (etch) Tomcat + Apache frontend

Úvod

Shibboleth Identity Provider (IdP) je aplikace napsaná v Javě a je spouštěna jako servlet v aplikačním serveru, nejčastěji Tomcat. Web server Apache je pak využíván jako frontend, který přijímá dotazy a předává je aplikačnímu serveru. IdP poskytuje dvě služby - autentizace (vydává rozhodnutí o autentizaci v SAML) a výdej atributů. Každá z těchto služeb má svůj vlastní tzv. endpoint (něco jako adresu, na které poslouchá). Tyto endpointy se nazývají SSO (single sign-on) a AA (Attribute Authority).

Vzhledem k odlišným požadavkům na komunikaci je vhodné provozovat tyto služby pod různými virtuálními servery v Apachi. Běžně se autentizace poskytuje na standardním pro Apache s mod_ssl portu 443, zatímco AA běží na jiném portu - nejčastěji 8443. Je samozřejmě možné použít i virtuál s jiným hostname, ale to už vyžaduje také zvláštní certifikát.

Současná verze Shibboleth IdP 1.3 neobsahuje funkcionalitu pro autentizaci a single sign-on. Tuto funkcionalitu musí zajistit externí systém - samotný Apache v nejjednodušším případě nebo sofistikovanější SSO infrastruktura jako například Cosign, WebAuth, PubCookie apod.

Podle tohoto návodu se jednotlivé součásti instalují v adresáři /opt a některé podadresáře se pro pohodlí mapují symbolickými linky do adresářové struktury operačního systému (např. /opt/shibboleth-idp/etc –> /etc/shibboleth). Je to jednak z důvodu snadnější údržby (jednotlivé součástí jsou pohromadě a ne roztroušené po systému), jednak z důvodu univerzálnosti - různé distribuce linuxu používají odlišné uspořádání nainstalovaného software (konfigurační soubory, lody apod.) a ačkoliv je v titulku zmíněn konkrétně Debian etch, měl by tento návod dobře posloužit i v případě jiné distribuce. Použité cesty jsou jen příkladné a neměl by být problém použít jiné, které lépe odpovídají cílovému systému.

Komponenty

Návod přepokládá, že je nainstalován následující software:

  • Apache 2 (v Debian etch je verze 2.2.x)
  • OpenSSL (openssl 0.9.8+)

V průběhu instalace budou nainstalované komponenty:

  • Java SE Development Kit (JDK) 1.6
  • Apache Tomcat 5.5 (deb balík tomcat5.5)
  • Shibboleth Identity Provider 1.3.2
  • mod_jk (deb balík libapache2-mod-jk)

Instalace komponent

Java

Stáhněte aktuální JDK ze stránky http://java.sun.com/javase/downloads/index.jsp a nainstalujte ho:

# cd /opt
# chmod +x jdk-6-linux-amd64.bin
# ./jdk-6-linux-amd64.bin
# ln -s /opt/jdk1.6.0 /opt/java
# export JAVA_HOME=/opt/java

Místo přepisováni proměnné PATH je vhodnější namapovat binárky do standardního adresáře /usr/bin:

# update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 200
# update-alternatives --install /usr/bin/javac javac $JAVA_HOME/bin/javac 200
# update-alternatives --install /usr/bin/jar jar $JAVA_HOME/bin/jar 200
# update-alternatives --install /usr/bin/keytool keytool $JAVA_HOME/bin/keytool 200

Tomcat

V Debianu etch existuje balíček tomcat5.5:

# apt-get install tomcat5.5
# cd /var/lib
# ln -s tomcat5.5 tomcat

Shibboleth Identity Provider

Shibboleth IdP se instaluje pomocí instalátoru. Stačí stáhnout aktuální verzí, rozbalit a spustit:

# cd /opt
# wget http://shibboleth.internet2.edu/downloads/shibboleth-idp-1.3.3.tar.gz
# tar xvfz shibboleth-idp-1.3.2.tar.gz
# cd shibboleth-1.3.2-install/
# ./ant build-util
# ./ant

Spustí se interaktivní program, který položí několik otázek - název aplikace vyplníme jako shibboleth-idp, způsob instalace - filesystem, adresář pro IdP - /opt/shibboleth-idp, domovský adresář Tomcat - /var/lib/tomcat. Poté program zkopíruje soubory na potřebná místa.

V důsledku chybě v JAXP knihovně je potřeba použít knihovnu přibalenou k Shibboleth IdP:

# cp -p /opt/shibboleth-idp/endorsed/*.jar /usr/share/tomcat5.5/common/endorsed/

Pro pohodlí vytvoříme následující linky:

# ln -s /opt/shibboleth-idp/etc /etc/shibboleth
# ln -s /opt/shibboleth-idp/logs /var/log/shibboleth

mod_jk

Tento modul do Apache zajišťuje, aby příslušné HTTP dotazy byly předávány do aplikačního serveru Tomcat, tj. spojuje frontend (Apache) s backendem (Tomcat). Instalace je snadná, v Debian etch stačí nainstalovat balík libapache2-mod-jk.

Závěr

Po instalaci můžete přistoupit ke konfiguraci, kde nastavíte parametry potřebné k provozu IdP.

cztestfed/howto/idp/install/debian/index.txt · Poslední úprava: 2008-05-09 15:20 (upraveno mimo DokuWiki)
CESNET2 powered
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0