LPS:WebAuth/Apache 2.2.x
Tento dokument již není udržován! |
---|
Od verze WebAuthu 3.5.0 je podpora Apache 2.2.x implementována nativně (tj. i v Debian balíčcích). |
Zprovoznění WebAuthu na Apache 2.2.x
Přestože podle vývojářů není Apache 2.2.x oficálně podporován WebAuthem, je možné v konferenci vyčíst velmi jednoduchý návod na "přiohnutí" pod tuto nepodporovanou platformu. Debianovské balíčky pro tuto verzi logicky neexistují, a pokud potřebujeme vytvořit např. autentizovanou webovou proxy, přes kterou je možné protulenovat i cookies user <-> proxy <-> webserver, tak musíme si vše zkompilovat ručně. Apache 2.0.x, pro kterého std. balíčky existují, neumí tunelovat cookies.
Tento postup je možné použít například jako prozatimní řešení identitiy federation. Je možné nakonfigurovat webovou proxy autentizovanou WebAuthem, která tuneluje data (včetně cookies) ze stroje poskytovatele dat. Konkrétním příkladem jsou elektronické informační zdroje zakopené technickou knihovnou ZČU. Většina těchto zdrojů akceptuje spojení z IP rozsahu ZČU (147.228.x.x). Naši uživatelé přistupující mimo tento rozsah (z domova, internetových kaváren, atp.) by tak přišli o možnost použití těchto zdrojů. Webová proxy autentizovaná WebAuthem je tak výborným řešením této situace.
Postup
- pokud nemáme Apache 2.2.x z balíku, tak jej stáhneme a zkompiluje z řádky, např:
./configure --prefix=/usr/local/apache-2.2.3 --enable-cern-meta --enable-expires --enable-headers --enable-rewrite \ --enable-unique-id --enable-usertrack--enable-proxy --enable-so --enable-ssl --with-ssl=/usr/local --enable-negotiation \ --enable-proxy make make install
- z oficiálního webu stáhneme zdrojáky k aktuální verzi WebAuthu
- po rozbalení je nutné v souboru src/modules/webauth/mod_webauth.c:
const char *scheme = ap_run_http_method(r); zaměnit za const char *scheme = ap_run_http_scheme(r); ./configure --with-apxs=/usr/local/apache/bin/apxs --with-krb5=/usr --with-openssl=/usr --with-ldap=/usr make make install
- Apache dále nakonfigurovat běžným způsobem pro provoz WebAuthu.