Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze Následující verze Obě strany příští revize | ||
cs:tech:sp:simplesamlphp [2018/01/24 14:17] jop@cesnet.cz 1.14.17 -> 1.15.1 |
cs:tech:sp:simplesamlphp [2019/07/10 11:47] jop@cesnet.cz [SimpleSAMLphp] -czTestFed |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== Návod k SimpleSAMLphp ====== | ====== Návod k SimpleSAMLphp ====== | ||
- | Tento návod se zabývá instalací a konfigurací [[https://simplesamlphp.org|SimpleSAMLphp]] verze 1.15.1 pouze v podobě poskytovatele služby (Service Provider, SP), nikoliv poskytovatele identity (Identity Provider, IdP). Pro IdP silně doporučujeme použít [[cs:tech:idp|Shibboleth IdP]]. | + | Tento návod se zabývá instalací a konfigurací [[https://simplesamlphp.org|SimpleSAMLphp]] verze 1.15.4 pouze v podobě poskytovatele služby (Service Provider, SP), nikoliv poskytovatele identity (Identity Provider, IdP). Pro IdP silně doporučujeme použít [[cs:tech:idp|Shibboleth IdP]]. |
V návodu budeme používat linuxovou distribuci [[https://www.debian.org|Debian]] v jeho poslední verzi 9 s kódovým označením [[https://www.debian.org/releases/stretch/|Stretch]]. Používáte-li jinou distribuci, některé kroky (např. instalace balíčků) se u vás budou odpovídajícím způsobem lišit. | V návodu budeme používat linuxovou distribuci [[https://www.debian.org|Debian]] v jeho poslední verzi 9 s kódovým označením [[https://www.debian.org/releases/stretch/|Stretch]]. Používáte-li jinou distribuci, některé kroky (např. instalace balíčků) se u vás budou odpovídajícím způsobem lišit. | ||
- | Návod provází kompletní instalací a konfigurací SimpleSAMLphp včetně zdrojů metadat federace [[https://www.eduid.cz/cs/tech/summary|eduID.cz]], [[https://www.hostel.eduid.cz|Hostel IdP]], Social IdP (Facebook, GitHub, Google, LinkedIn, mojeID, ORCID) a [[https://www.eduid.cz/cs/cztestfed/index|czTestFed]]. | + | Návod provází kompletní instalací a konfigurací SimpleSAMLphp včetně zdrojů metadat federace [[https://www.eduid.cz/cs/tech/summary|eduID.cz]], [[https://www.hostel.eduid.cz|Hostel IdP]] a Social IdPs (Facebook, GitHub, Google, LinkedIn, ORCID). |
===== Instalace ===== | ===== Instalace ===== | ||
Řádek 51: | Řádek 51: | ||
(V případě nejistoty můžeme použít známé ''<?php PHPInfo(); ?>'' pro zjištění, co náš interpret aktuálně podporuje.) | (V případě nejistoty můžeme použít známé ''<?php PHPInfo(); ?>'' pro zjištění, co náš interpret aktuálně podporuje.) | ||
- | Samoté SimpleSAMLphp můžeme nainstalovat buď z balíčkovacího systému anebo //ručně ze zdrojových kódů//. Instalace ze zdrojových kódů je vhodnější zejména v případě, že je v naší distribuci SimpleSAMLphp v příliš staré verzi, což je velmi častý případ velkého množství distribucí. **Ruční instalace je však velice jednoduchá**, jde o pouhé stažení archivu se zdrojovými kódy a jeho rozbalení, **nic není nutno kompilovat**. | + | **Doporučený způsob instalace** je instalace ze zdrojových kódů, nikoliv z balíčkovacího systému, kde je SimpleSAMLphp téměř vždy velice zastaralé. Musíme však nejprve stáhnout archiv se zdrojovými kódy ze stránek [[https://simplesamlphp.org/download|projektu]] anebo "release" archiv z repozitáře na [[https://github.com/simplesamlphp/simplesamlphp/releases|GitHubu]]. Stahujeme-li archiv z Internetu, **nezapomeneme zkontrolovat kontrolní součet** archivu! (Kontrolní součet archivu nalezneme na [[https://simplesamlphp.org/download|stránce projektu SimpleSAMLphp]], kde je archiv k dispozici ke stažení.) |
- | + | ||
- | //__Nedoporučený způsob instalace__// z balíčkovacího systému v případě Debianu probíhá známým příkazem: | + | |
- | + | ||
- | <code bash> | + | |
- | # Instalace SimpleSAMLphp z balíčku (NEDOPORUČENO!) | + | |
- | apt-get install simplesamlphp | + | |
- | </code> | + | |
- | + | ||
- | **Doporučený způsob instalace** je instalace ze zdrojových kódů. Musíme však nejprve stáhnout archiv se zdrojovými kódy ze stránek [[https://simplesamlphp.org/download|projektu]] anebo "release" archiv z repozitáře na [[https://github.com/simplesamlphp/simplesamlphp/releases|GitHubu]]. Stahujeme-li archiv z Internetu, **nezapomeneme zkontrolovat kontrolní součet** archivu! (Kontrolní součet archivu nalezneme na [[https://simplesamlphp.org/download|stránce projektu SimpleSAMLphp]], kde je archiv k dispozici ke stažení.) | + | |
Stažený archiv umístíme do adresáře ''/opt/src'', rozbalíme do ''/opt'' a vytvoříme na něj symbolický odkaz ''/opt/simplesamlphp''. S tímto přístupem můžeme v případě potřeby velmi snadno přepnout na jinou verzi v budoucnu -- např. při aktualizaci na novou verzi. | Stažený archiv umístíme do adresáře ''/opt/src'', rozbalíme do ''/opt'' a vytvoříme na něj symbolický odkaz ''/opt/simplesamlphp''. S tímto přístupem můžeme v případě potřeby velmi snadno přepnout na jinou verzi v budoucnu -- např. při aktualizaci na novou verzi. | ||
Řádek 68: | Řádek 59: | ||
mkdir -p /opt/src | mkdir -p /opt/src | ||
cd /opt/src | cd /opt/src | ||
- | wget https://github.com/simplesamlphp/simplesamlphp/releases/download/v1.15.1/simplesamlphp-1.15.1.tar.gz | + | wget https://github.com/simplesamlphp/simplesamlphp/releases/download/v1.15.4/simplesamlphp-1.15.4.tar.gz |
- | echo 436e73170732929715cf59a0f472f591c0f791b26e5ff02909d4c5113a8c9308 simplesamlphp-1.15.1.tar.gz | sha256sum -c | + | echo '349cf5d9f9ecbbced0e6f6794d26d5242fc9dafbd34268aeeb200182c24f88a5 simplesamlphp-1.15.4.tar.gz' | sha256sum -c |
cd .. | cd .. | ||
- | tar -xzf src/simplesamlphp-1.15.1.tar.gz | + | tar -xzf src/simplesamlphp-1.15.4.tar.gz |
- | ln -snf simplesamlphp-1.15.1 simplesamlphp | + | ln -snf simplesamlphp-1.15.4 simplesamlphp |
</code> | </code> | ||
Řádek 110: | Řádek 101: | ||
# Vytvoření adresářů pro metadata | # Vytvoření adresářů pro metadata | ||
cd /opt/simplesamlphp/metadata | cd /opt/simplesamlphp/metadata | ||
- | mkdir eduid hostel socialidp cztestfed | + | mkdir eduid hostel socialidp |
- | chown www-data:www-data eduid hostel socialidp cztestfed | + | chown www-data:www-data eduid hostel socialidp |
</code> | </code> | ||
Řádek 144: | Řádek 135: | ||
array ('type' => 'flatfile', 'directory' => 'metadata/hostel'), | array ('type' => 'flatfile', 'directory' => 'metadata/hostel'), | ||
array ('type' => 'flatfile', 'directory' => 'metadata/socialidp'), | array ('type' => 'flatfile', 'directory' => 'metadata/socialidp'), | ||
- | array ('type' => 'flatfile', 'directory' => 'metadata/cztestfed'), | ||
), | ), | ||
Řádek 165: | Řádek 155: | ||
Hodnotu ''entityID'' si můžeme částečně vymyslet. Doporučenou hodnotu zkontruujeme následovně: ''<nowiki>https://hostname/sp</nowiki>'' (část za názvem serveru -- ''/sp'' -- si můžeme téměř libovolně vymyslet, avšak nikdy bychom ji už následně neměli měnit), tedy ''<nowiki>https://super-service.cesnet.cz/sp</nowiki>'' pro fiktivní server ''super-service.cesnet.cz''. | Hodnotu ''entityID'' si můžeme částečně vymyslet. Doporučenou hodnotu zkontruujeme následovně: ''<nowiki>https://hostname/sp</nowiki>'' (část za názvem serveru -- ''/sp'' -- si můžeme téměř libovolně vymyslet, avšak nikdy bychom ji už následně neměli měnit), tedy ''<nowiki>https://super-service.cesnet.cz/sp</nowiki>'' pro fiktivní server ''super-service.cesnet.cz''. | ||
- | Hodnota ''discoURL'' udává URL adresu tzv. "discovery service" anebo WAYF (Where Are You From). V tomto případě je použit WAYF testovací federace [[https://www.eduid.cz/cs/cztestfed/index|czTestFed]]. Pod ní je uvedena zakomentovaná URL adresa pro WAYF (produkční) federace [[https://www.eduid.cz/cs/tech/summary|eduID.cz]]. | + | Hodnota ''discoURL'' udává URL adresu tzv. "discovery service" anebo WAYF (Where Are You From). Je zde uvedena URL adresa pro WAYF federace [[https://www.eduid.cz/cs/tech/summary|eduID.cz]]. |
Hodnoty ''DisplayName'', ''Description'', ''InformationURL'' spadající pod ''UIInfo'' a dále ''OrganizationName'', ''OrganizationDisplayName'' a ''OrganizationURL'' je nutno uvést v českém a anglickém jazyce. Jejich význam je zřetelný z jejich názvu. Uvádějí o službě doplňující avšak důležité informace potřebné např. různými rozcestníky na služby apod. | Hodnoty ''DisplayName'', ''Description'', ''InformationURL'' spadající pod ''UIInfo'' a dále ''OrganizationName'', ''OrganizationDisplayName'' a ''OrganizationURL'' je nutno uvést v českém a anglickém jazyce. Jejich význam je zřetelný z jejich názvu. Uvádějí o službě doplňující avšak důležité informace potřebné např. různými rozcestníky na služby apod. | ||
Řádek 175: | Řádek 165: | ||
'default-sp' => array( | 'default-sp' => array( | ||
'entityID' => 'https://super-service.cesnet.cz/sp', | 'entityID' => 'https://super-service.cesnet.cz/sp', | ||
- | 'discoURL' => 'https://ds.eduid.cz/wayf-cztestfed/', | + | 'discoURL' => 'https://ds.eduid.cz/wayf.php', |
- | #'discoURL' => 'https://ds.eduid.cz/wayf.php', | + | |
// Certifikáty | // Certifikáty | ||
Řádek 239: | Řádek 228: | ||
</code> | </code> | ||
- | Nyní nastavíme zdroje metadat ([[https://www.eduid.cz/cs/tech/summary|federace eduID.cz]], [[https://www.hostel.eduid.cz|Hostel IdP]], Social IdP [Facebook, GitHub, Google, LinkedIn, mojeID a ORCID] a [[https://www.eduid.cz/cs/cztestfed/index|testovací federace czTestFed]]). | + | Nyní nastavíme zdroje metadat ([[https://www.eduid.cz/cs/tech/summary|federace eduID.cz]], [[https://www.hostel.eduid.cz|Hostel IdP]] a Social IdPs [Facebook, GitHub, Google, LinkedIn a ORCID]. |
Hodnota ''validateFingerprint'' obsahuje otisk veřejného klíče, který patří [[https://www.eduid.cz/docs/eduid/metadata/metadata.eduid.cz.crt.pem|certifikátu]], jímž jsou metadata podepisována. Přestože se metadata stahují pomocí protokolu HTTPS, **důrazně doporučujeme stažená metadata kontrolovat**! Otisk si pro jistotu ověříme. | Hodnota ''validateFingerprint'' obsahuje otisk veřejného klíče, který patří [[https://www.eduid.cz/docs/eduid/metadata/metadata.eduid.cz.crt.pem|certifikátu]], jímž jsou metadata podepisována. Přestože se metadata stahují pomocí protokolu HTTPS, **důrazně doporučujeme stažená metadata kontrolovat**! Otisk si pro jistotu ověříme. | ||
Řádek 319: | Řádek 308: | ||
'expireAfter' => 60*60*24*4, // Maximum 4 days cache time. | 'expireAfter' => 60*60*24*4, // Maximum 4 days cache time. | ||
'outputDir' => 'metadata/socialidp/', | 'outputDir' => 'metadata/socialidp/', | ||
- | 'outputFormat' => 'flatfile', | ||
- | ), | ||
- | |||
- | # czTestFed | ||
- | 'cztestfed' => array( | ||
- | 'cron' => array('hourly'), | ||
- | 'sources' => array( | ||
- | array( | ||
- | 'src' => 'https://metadata.eduid.cz/entities/cztestfed', | ||
- | 'validateFingerprint' => '2E:51:FC:08:CF:15:C5:15:48:28:AF:64:A7:97:50:80:B4:AB:5D:24', | ||
- | ), | ||
- | ), | ||
- | 'expireAfter' => 60*60*24*4, // Maximum 4 days cache time. | ||
- | 'outputDir' => 'metadata/cztestfed/', | ||
'outputFormat' => 'flatfile', | 'outputFormat' => 'flatfile', | ||
), | ), |