<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
		<id>https://wiki.niif.hu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Boti%40partners.niif.hu</id>
		<title>Pro-M - Oktatási Üzletág - Wiki - Szerkesztő közreműködései [hu]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.niif.hu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Boti%40partners.niif.hu"/>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Speci%C3%A1lis:Szerkeszt%C5%91_k%C3%B6zrem%C5%B1k%C3%B6d%C3%A9sei/Boti@partners.niif.hu"/>
		<updated>2026-11-07T22:18:14Z</updated>
		<subtitle>Szerkesztő közreműködései</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Shibboleth_IdP_telep%C3%ADt%C3%A9s_(Debian)&amp;diff=265</id>
		<title>Shibboleth IdP telepítés (Debian)</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Shibboleth_IdP_telep%C3%ADt%C3%A9s_(Debian)&amp;diff=265"/>
				<updated>2007-12-05T23:07:09Z</updated>
		
		<summary type="html">&lt;p&gt;Boti@partners.niif.hu: /* Forrás */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Előkészületek ==&lt;br /&gt;
=== Tanúsítvány ===&lt;br /&gt;
Kell készíteni egy megfelelő SSL szerver tanúsítványt. Ha más nem szól ellene, érdemes ugyanazt a tanúsítványt használni a felhasználók felé, mint az SP-k felé.&lt;br /&gt;
&lt;br /&gt;
=== Tűzfal ===&lt;br /&gt;
Be kell engedni a 443-as és a 8443-as portokat. Ha nagyon szigorúan vesszük, akkor a 8443-as portot elegendő csak a szóbajöhető SP-kről beengedni, de ezzel általában nem vagyunk tisztában, ezért célszerű a &amp;quot;nagyvilágból&amp;quot; beengedni. Biztonsági szempontból nem sok különbség van a 443-as és a 8443-as porton elérhető alkalmazások között.&lt;br /&gt;
== Tomcat ==&lt;br /&gt;
=== JDK telepítés ===&lt;br /&gt;
Sajnos Etch alatt a &amp;lt;code&amp;gt;sun-java5-jdk&amp;lt;/code&amp;gt; csomag függ egy csomó X-es csomagtól, melyeket nem biztos, hogy szeretnénk telepíteni egy szerveren, érdemes lehet &lt;br /&gt;
* feltenni a &amp;lt;code&amp;gt;sun-java5-jre&amp;lt;/code&amp;gt; csomagot ÉS&lt;br /&gt;
* kézzel telepíteni egy JDK-t, mondjuk a http://java.sun.com oldalról letöltve&lt;br /&gt;
&lt;br /&gt;
Ez igazából egy nagy ''hack'', ugyanis ahhoz, hogy a tomcat-et csomagból telepíteni tudjuk, kell a &amp;lt;code&amp;gt;java2-runtime&amp;lt;/code&amp;gt; csomag, amelyet biztosít a JRE is, '''viszont''' a Tomcat-nek JDK kell, hogy JSP-t tudjon futtatni.&lt;br /&gt;
:: &amp;lt;small&amp;gt;'''Megj.:''' Minden JSP-t első futtatáskor a konténer (Tomcat) lefordít Java kóddá, aztán byte-kóddá, ezért tart jó sokáig az - újraindítás utáni - első request. Ezután az eredményt elcache-eli, így csak akkor kell újrafordítania, ha a JSP megváltozik.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A JDK telepítés elég egyszerű, letöltjük a java.sun.com oldalról a nekünk tetsző verziót, aztán kicsomagoljuk, mondjuk a &amp;lt;code&amp;gt;/usr/lib&amp;lt;/code&amp;gt; alá, aztán csinálunk egy szimbolikus linket, hogy a &amp;lt;code&amp;gt;/usr/jdk&amp;lt;/code&amp;gt; mindig a &amp;quot;jó&amp;quot; JDK-ra mutasson.&lt;br /&gt;
&lt;br /&gt;
=== Tomcat telepítés ===&lt;br /&gt;
Ha minden rendben meg, akkor elegendő egy &lt;br /&gt;
 apt-get install tomcat5.5&lt;br /&gt;
Ez felpakolja a tomcat különböző függőségeit is.&lt;br /&gt;
&lt;br /&gt;
Ahhoz, hogy a Tomcat rendben elinduljon, szükséges neki megmondani, hogy hol találja a JDK-t. Ezért tegyük a &amp;lt;code&amp;gt;/etc/default/tomcat5.5&amp;lt;/code&amp;gt; fájlba a következőt:&lt;br /&gt;
 JAVA_HOME=/usr/jdk&lt;br /&gt;
&lt;br /&gt;
Ne felejtsük el, hogy a Tomcat szerver &amp;quot;tomcat55&amp;quot; user nevében fog futni! Mivel a Shibboleth servletnek szüksége van arra, hogy hozzáférjen a filerendszerhez,  a Java Security Manager-t ki kell kapcsolni a &amp;lt;code&amp;gt;/etc/default/tomcat5.5&amp;lt;/code&amp;gt; fájlban:&lt;br /&gt;
 TOMCAT5_SECURITY=no&lt;br /&gt;
&lt;br /&gt;
=== Tomcat konfiguráció ===&lt;br /&gt;
A 8009-es porton figyelő Connector elem konfigurációjához hozzá kell adni, hogy a &amp;lt;code&amp;gt;tomcatAuthentication&amp;lt;/code&amp;gt; értéke &amp;quot;false&amp;quot; legyen, ezen kívül a hozzáférést korlátozhatjuk a localhost-ra is (hiszen a Connector-t csak a helyben futó Apache mod_jk konnektora érheti el).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Connector port=&amp;quot;8009&amp;quot; address=&amp;quot;127.0.0.1&amp;quot; tomcatAuthentication=&amp;quot;false&amp;quot;&lt;br /&gt;
               enableLookups=&amp;quot;false&amp;quot; redirectPort=&amp;quot;8443&amp;quot; protocol=&amp;quot;AJP/1.3&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
IdP-t telepíthetünk &amp;quot;standalone&amp;quot; Tomcat környezetre is, ekkor nincs szükségünk Apache-ra. [[ShibIdPInstallTomcat | A leírást ide kérjük :)]]&lt;br /&gt;
&lt;br /&gt;
Az IdP telepítéséhez szükségünk lesz az alap apache szerverre (Etch-ben 2.2-es verziójú) és néhány modulra:&lt;br /&gt;
* &amp;lt;strike&amp;gt;&amp;lt;code&amp;gt;libapache-mod-ssl&amp;lt;/code&amp;gt;&amp;lt;/strike&amp;gt;: a &amp;lt;code&amp;gt;mod_ssl&amp;lt;/code&amp;gt; az &amp;lt;code&amp;gt;apache2&amp;lt;/code&amp;gt; csomag része.&lt;br /&gt;
* &amp;lt;code&amp;gt;libapache2-mod-jk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A konfiguráció lépései:&lt;br /&gt;
* &amp;lt;code&amp;gt;mod_ssl&amp;lt;/code&amp;gt; modul betöltése; figyelés a 8443-as porton is&lt;br /&gt;
* &amp;lt;code&amp;gt;mod_jk&amp;lt;/code&amp;gt; modul betöltése, konfigurálása&lt;br /&gt;
* VirtualHost konfigurálása&lt;br /&gt;
* autentikáció konfigurálása&lt;br /&gt;
=== mod_ssl ===&lt;br /&gt;
&amp;lt;code&amp;gt;/etc/apache2/ports.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
 Listen 443&lt;br /&gt;
 Listen 8443&lt;br /&gt;
&lt;br /&gt;
Engedélyezzük az SSL modult.&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
=== mod_jk ===&lt;br /&gt;
A &amp;lt;code&amp;gt;mod_jk&amp;lt;/code&amp;gt; telepítés után alapértelmezetten engedélyezve van, ha mégsem lenne, az &amp;lt;code&amp;gt;a2enmod jk&amp;lt;/code&amp;gt; paranccsal engedélyezhetjük.&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;/etc/libapache2-mod-jk/workers.properties&amp;lt;/code&amp;gt; file-ban állítsuk be a &amp;lt;code&amp;gt;workers.tomcat_home&amp;lt;/code&amp;gt; és a &amp;lt;code&amp;gt;workers.java_home&amp;lt;/code&amp;gt; paramétereket a Tomcat ill. a JDK telepítésénél használt értékekre. (tomcat_home=/usr/share/tomcat5.5 az alapértelmezett telepítésnél.)&lt;br /&gt;
&lt;br /&gt;
Már csak az van hátra, hogy bizonyos URI-kra érkező kéréseket a modul átküldje a Tomcat-nek. Ehhez az alábbi konfigurációs direktívákat kell megadnunk valahol a szerver konfigurációban (pl. &amp;lt;code&amp;gt;/etc/apache2/apache2.conf&amp;lt;/code&amp;gt;)&lt;br /&gt;
 &amp;lt;IfModule mod_jk.c&amp;gt;&lt;br /&gt;
    JkWorkersFile /etc/libapache2-mod-jk/workers.properties&lt;br /&gt;
    JkLogFile /var/log/apache2/mod_jk.log&lt;br /&gt;
    JkLogLevel info&lt;br /&gt;
    JkMount /shibboleth-idp/* ajp13_worker&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
A fenti példában a '''shibboleth-idp''' az IdP servlet telepítése során (később) megadott URI. Ez azt jelenti, hogy a &amp;lt;code&amp;gt;/shibboleth-idp&amp;lt;/code&amp;gt; URI alá jövő összes kérést a Tomcat fogja megkapni.&lt;br /&gt;
:: &amp;lt;small&amp;gt;RedHat ES4 disztribúció alatt az '''ajp13_worker''' helyett '''ajp13'''-t kellett használni.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VirtualHost ===&lt;br /&gt;
Nem feltétlenül szükséges külön VirtualHost-ban futtatni az IdP-t, de sok szempontból &amp;quot;tisztább&amp;quot; konfigurációt eredményez. Egy működő konfig:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;VirtualHost 193.224.163.21:443 [2001:738:0:600:216:3eff:fe00:18]:443&amp;gt;&lt;br /&gt;
  ServerName      papigw.aai.niif.hu&lt;br /&gt;
  ServerAdmin     root@niif.hu&lt;br /&gt;
  DocumentRoot    /var/www/papigw.aai.niif.hu/htdocs&lt;br /&gt;
  CustomLog       /var/log/apache2/papigw.aai.niif.hu.ssl_access.log combined&lt;br /&gt;
  ErrorLog        /var/log/apache2/papigw.aai.niif.hu.ssl_error.log&lt;br /&gt;
  SSLEngine       On&lt;br /&gt;
  SSLCertificateFile      /etc/apache2/ssl/papigw.aai.niif.hu.crt&lt;br /&gt;
  SSLCertificateKeyFile   /etc/apache2/ssl/papigw.aai.niif.hu.key&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;Location /shibboleth-idp/SSO&amp;gt;&lt;br /&gt;
        AuthBasicProvider ldap&lt;br /&gt;
        AuthName &amp;quot;Login to PAPIGW Identity Provider&amp;quot;&lt;br /&gt;
        AuthLDAPURL ldaps://directory.iif.hu:636/ou=users,o=niifi,o=niif,c=hu?uid?one&lt;br /&gt;
        AuthLDAPBindDN uid=papigw.aai.niif.hu,ou=https,ou=applications,o=niifi,o=niif,c=hu&lt;br /&gt;
        AuthLDAPBindPassword ******&lt;br /&gt;
        AuthzLDAPAuthoritative off&lt;br /&gt;
        require valid-user&lt;br /&gt;
  &amp;lt;/Location&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;VirtualHost 193.224.163.21:8443 [2001:738:0:600:216:3eff:fe00:18]:8443&amp;gt;&lt;br /&gt;
  ServerName      papigw.aai.niif.hu&lt;br /&gt;
  ServerAdmin     root@niif.hu&lt;br /&gt;
  DocumentRoot    /var/www/papigw.aai.niif.hu/htdocs&lt;br /&gt;
  CustomLog       /var/log/apache2/papigw.aai.niif.hu.ssl_access.log combined&lt;br /&gt;
  ErrorLog        /var/log/apache2/papigw.aai.niif.hu.ssl_error.log&lt;br /&gt;
  SSLEngine       On&lt;br /&gt;
  SSLCertificateFile      /etc/apache2/ssl/papigw.aai.niif.hu.crt&lt;br /&gt;
  SSLCertificateKeyFile   /etc/apache2/ssl/papigw.aai.niif.hu.key&lt;br /&gt;
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP&lt;br /&gt;
  SSLVerifyClient optional_no_ca&lt;br /&gt;
  SSLVerifyDepth 10&lt;br /&gt;
  SSLOptions +StdEnvVars +ExportCertData&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
:: &amp;lt;small&amp;gt;'''Megj.:''' IPv6-on is figyelünk :)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Autentikáció ===&lt;br /&gt;
==== SSO URI ====&lt;br /&gt;
Ez az az URI, amelyre az SP átirányítja a ''felhasználót'', általában a szabványos https porton érhető el. A példában LDAP-ból azonosítjuk a felhasználót, majd az azonosított felhasználónevet a REMOTE_USER változóban adjuk át a Shibboleth IdP servletnek.&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;&amp;lt;Location ...&amp;gt;&amp;lt;/code&amp;gt; blokkban bármilyen azonosítást beállíthatunk (MySql, plain file, stb).&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;small&amp;gt;&amp;lt;b&amp;gt;Megj.:&amp;lt;/b&amp;gt; Az LDAP SSL használatához a [[LDAP kliens SSL | leírás itt található]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== AA URI ====&lt;br /&gt;
Az ''Attribute Authority'' általában a 8443-as porton érhető el.&lt;br /&gt;
&lt;br /&gt;
Ezen az URI-n az SP-k kapcsolódnak hozzánk, hogy a felhasználóról adatokat kérjenek. Az SP-ket mindig tanúsítvánnyal azonosítjuk. &amp;quot;Természetesen&amp;quot; a request-et utána továbbítani kell a Tomcatben futó IdP servletnek. (Ezt a mod_jk fejezetben mutatott példában a &amp;lt;code&amp;gt;JkMount /shibboleth-idp/*&amp;lt;/code&amp;gt; megadásával értük el.)&lt;br /&gt;
&lt;br /&gt;
== IdP servlet telepítése ==&lt;br /&gt;
Az IdP innen tölthető le: http://shibboleth.internet2.edu/latest.html&lt;br /&gt;
&lt;br /&gt;
A tar.gz állományt csomagoljuk ki, majd lépjünk be a létrejövő könyvtárba.&lt;br /&gt;
=== Endorsed jar állományok ===&lt;br /&gt;
Sajnos - legalábbis a cikk írásakor - a &amp;quot;kincstári&amp;quot; Sun-os Tomcat (Java?) JAXP parser egy ismert memóriaszivárgást tartalmaz, ezért a disztribúcióban az &amp;lt;code&amp;gt;endorsed/&amp;lt;/code&amp;gt; könyvtárban található .jar file-okat kézzel be kell másolni a Tomcat &amp;lt;code&amp;gt;endorsed/&amp;lt;/code&amp;gt; könyvtárába.&lt;br /&gt;
: &amp;lt;small&amp;gt;A Debian alatti tomcat5.5 csomag használatakor a &amp;lt;code&amp;gt;/usr/share/tomcat5.5/common/endorsed &amp;lt;/code&amp;gt; könyvtárba kell tenni a jar file-okat.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
 export JAVA_HOME=/usr/jdk&lt;br /&gt;
 ./ant&lt;br /&gt;
A telepítés során az alábbi paramétereket kell megadnunk:&lt;br /&gt;
* Shibboleth IdP alkalmazás neve: az URI, amelyre érkező kéréseket a Tomcat az IdP servletnek ad át. Default: &amp;lt;code&amp;gt;shibboleth-idp&amp;lt;/code&amp;gt;&lt;br /&gt;
* Filesystem- vagy manager-alapú telepítést akarunk? (Javasolt: Filesystem)&lt;br /&gt;
* Az IdP alkalmazás könyvtára. Default: &amp;lt;code&amp;gt;/usr/local/shibboleth-idp&amp;lt;/code&amp;gt;&lt;br /&gt;
* Tomcat home. Default: &amp;lt;code&amp;gt;/usr/local/tomcat&amp;lt;/code&amp;gt;, Debian alatt a &amp;lt;code&amp;gt;/var/lib/tomcat5.5&amp;lt;/code&amp;gt; könyvtárat érdemes használni.&lt;br /&gt;
&lt;br /&gt;
=== Könyvtárak ===&lt;br /&gt;
A telepítő minden file-t (binárisok, konfiguráció, logok, stb) egyetlen könyvtár alatti struktúrába tenne, de valószínűleg jobban járunk, ha az alkalmazásunk konfigurációja a &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;, a logok pedig a &amp;lt;code&amp;gt;/var/log&amp;lt;/code&amp;gt; alatt találhatók.&lt;br /&gt;
&lt;br /&gt;
Például:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export IDP_HOME=/usr/local/shibboleth-idp&lt;br /&gt;
mv $IDP_HOME/etc /etc/`basename $IDP_HOME`&lt;br /&gt;
ln -s /etc/`basename $IDP_HOME` $IDP_HOME/etc&lt;br /&gt;
mv $IDP_HOME/logs /var/log/`basename $IDP_HOME`&lt;br /&gt;
ln -s /var/log/`basename $IDP_HOME` $IDP_HOME/logs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Mivel a Debianon a Tomcat &amp;quot;tomcat55&amp;quot; user nevében fut, a szükséges állományokhoz hozzá kell tudnia férni&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chown tomcat55 /var/log/`basename $IDP_HOME`&lt;br /&gt;
chmod 755 $IDP_HOME/bin/*&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ezek után már csak újra kell indítani a Tomcat-et, és az IdP-nek működnie kell. Ellenőrizni pl. úgy tudjuk, hogy meghívjuk a https://hostnev/shibboleth-idp/Status URI-t, amelynek az &amp;quot;AVAILABLE&amp;quot; stringet kell visszaadni.&lt;br /&gt;
&lt;br /&gt;
== Forrás ==&lt;br /&gt;
* [https://spaces.internet2.edu/display/SHIB/JKIdPInstall Shibboleth Identity Provider Installation]&lt;br /&gt;
* [http://www.switch.ch/aai/docs/shibboleth/SWITCH/1.3/idp/install-idp-1.3-debian-apache.html Shibboleth IdP installation with Debian and Tomcat] &lt;br /&gt;
* [https://www.aai.dfn.de/dokumentation/identity-provider/installation-debian-4-0-ubuntu-7-04/ Shibboleth IdP telepítése Debian 4.0 / Ubuntu 7.04 alatt] (német nyelvű)&lt;br /&gt;
*; Más környezetekre vonatkozó telepítési leírások&lt;br /&gt;
:* [http://www.lrz-muenchen.de/~hommel/shibboleth/shib13c_on_SuSE10.0.html#idpinstallation SUSE 10]&lt;br /&gt;
:* [https://www.aai.dfn.de/dokumentation/identityprovider/installation-opensuse-102.html OpenSUSE 10.2] (német)&lt;br /&gt;
:* '''Tomcat-only telepítési leírások'''&lt;br /&gt;
:** [https://spaces.internet2.edu/display/SHIB/TomcatAlone &amp;quot;Hivatalos&amp;quot; Tomcat-only leírás]&lt;br /&gt;
:** [http://www.switch.ch/aai/docs/shibboleth/SWITCH/1.3/idp/install-idp-1.3-debian.html Debian + Tomcat]&lt;br /&gt;
&lt;br /&gt;
[[Kategória: Shibboleth IdP]]&lt;br /&gt;
[[Kategória: HOWTO]]&lt;/div&gt;</summary>
		<author><name>Boti@partners.niif.hu</name></author>	</entry>

	</feed>