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 vom instala instanța de 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 (1, 2, 3, 4) 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, în interfața web de instalare/configurare a DokuWiki.
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/dokuwiki/conf/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;
/home/student/public_html/dokuwiki/conf/plugins.local.php
este posibil deținut de utilizatorul www-data
, nu-l veți putea modifica. Îl puteți în schimb șterge. Pentru a-l putea edita urmați pașii
Comenzile sunt următoarele:
student@ldap-client:~/public_html/dokuwiki/conf$ cp plugins.local.php tmp.plugins.php student@ldap-client:~/public_html/dokuwiki/conf$ rm plugins.local.php rm: remove write-protected regular file ‘plugins.local.php’? y student@ldap-client:~/public_html/dokuwiki/conf$ mv tmp.plugins.php plugins.local.php student@ldap-client:~/public_html/dokuwiki/conf$ vi plugins.local.php
Î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.