This is an old revision of the document!
Folosind conturile de mai sus putem realiza autentificarea în diverse servicii care folosesc ca backend de autentificare LDAP. Un astfel de serviciu este wiki-ul de tipul DokuWiki.
Pe stația client este instalat și configurat serverul web Apache cu suport PHP și pachetul php5-ldap
care oferă implementarea clientului de LDAP în PHP. Alte module (userdir
, ssl
) sunt configurate și activate.
Vom configura o instanță de DokuWiki în contul utilizatorului student
de pe stația client. În directorul home al utilizatorului student
găsiți creat directorul public_html/dokuwiki/
unde va fi instalată instanța DokuWiki. Pentru instalarea instanței intrăm în directorul admin-public.git/dokuwiki/
din directorul home al utilizatorului student
și rulăm scriptul de instalare dw-install
. Întâi rulăm scriptul fără argumente ca să vedem ce opțiuni sunt disponibile:
student@ldap-client:~/admin-public.git/dokuwiki$ ./dw-install DokuWiki basic installation script Usage: ./dw-install installation-directory download-url wiki-url Sample usage: ./dw-install ~/public_html/dw-test/ http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25a.tgz http://swarm.cs.pub.ro/~razvan/dw-test
Apoi rulăm scriptul pentru realizarea instalării efective:
student@ldap-client:~/admin-public.git/dokuwiki$ ./dw-install ~/public_html/dokuwiki/ http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz http://192.168.0.3/~student/dokuwiki * Logging information to /tmp/tmp.anntIlR19E. * Using download link http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz * Downloading DokuWiki ... done. * Preparing installation folder /home/student/public_html/dokuwiki/ ... done. * Installing plugins * Installing plugin: Creole ... done. * Installing plugin: Google Analytics ... done. * Installing plugin: Include ... done. * Installing plugin: Index-Menu ... done. * Installing plugin: Display-Wiki-Page ...done. * Installing plugin: authsplit ...done. * Installing plugin: authchained ...done. Installation complete. 1. Open in web browser: http://192.168.0.3/~student/dokuwiki/install.php 2. Fill required information to complete the basic installation. 3. Remove /home/student/public_html/dokuwiki//install.php.bak file. 4. Run: ./dw-post-install /home/student/public_html/dokuwiki/ /~student/dokuwiki/
Apoi parcurgem pașii de mai sus ca să definitivăm instalarea. În acest moment, la adresa http://192.168.0.3/~student/dokuwiki/ poate fi accesat wiki-ul. Se poate face autentificarea cu utilizatorul indicat la pasul 1.
Pentru a realiza suport de autentificare prin LDAP folosim indicațiile de pe site-ul DokuWiki.
Pentru început, adăugăm în fișierul de configurare /home/student/public_html/admin-public.git/dokuwiki/local.php
suportul pentru autentificarea LDAP, prin adăugarea liniilor:
$conf['authtype'] = 'authldap'; $conf['plugin']['authldap']['server'] = 'ldaps://192.168.0.2'; $conf['plugin']['authldap']['version'] = 3; $conf['plugin']['authldap']['usertree'] = 'dc=labs,dc=cs,dc=pub,dc=ro'; $conf['plugin']['authldap']['grouptree'] = 'dc=labs,dc=cs,dc=pub,dc=ro'; $conf['plugin']['authldap']['userfilter'] = '(&(uid=%{user})(objectClass=posixAccount))'; $conf['plugin']['authldap']['groupfilter'] = '(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))';
Dacă reaccesăm acum pagina instanței de wiki (http://192.168.0.3/~student/dokuwiki/), vom primi mesajul “User authentication is temporarily unavailable. If this situation persists, please inform your Wiki Admin.” Pentru a rezolva această problemă activăm suportul pentru LDAP în fișierul /home/student/public_html/dokuwiki/conf/plugins.local.php
și activăm linia corespunzătoare modulului LDAP:
$plugins['authldap'] = 1;
În acest moment configurația este finalizată, iar autentificarea pe instanța de wiki (accesibil la http://192.168.0.3/~student/dokuwiki/) va putea fi realizată folosind conturile de utilizatori LDAP adăugate atnterior.