Differences

This shows you the differences between two versions of the page.

Link to this comparison view

saisp:labs:01:contents:07 [2014/01/24 18:54]
razvan.deaconescu [07. Configurare suport de LDAP în DokuWiki]
saisp:labs:01:contents:07 [2014/02/22 17:32] (current)
alexandru.carp
Line 1: Line 1:
-==== 07. [10p] Configurare suport de LDAP în DokuWiki ====+==== 07. [15p] Configurare suport de LDAP în DokuWiki ====
  
-  * (tutorial) Integrare LDAP în DokuWiki+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:<​code bash>
 +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
 +</​code>​
 +
 +Apoi rulăm scriptul pentru realizarea instalării efective:<​code bash>
 +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/​
 +</​code>​
 +
 +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 [[https://​www.dokuwiki.org/​plugin:​authldap|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:<​code php>
 +$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})))';​
 +</​code>​
 +
 +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:<​code php>
 +$plugins['​authldap'​] ​ = 1;
 +</​code>​
 +
 +<note important>​
 +Întrucât fișierul ''/​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
 +  - Creați o copie a fișierului.
 +  - Ștergeți fișierul.
 +  - Redenumiți copia în numele fișierului.
 +  - Editați fișierul.
 +Comenzile sunt următoarele:<​code bash>
 +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
 +</​code>​
 +</​note>​
 +
 +Î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.
saisp/labs/01/contents/07.1390582467.txt.gz · Last modified: 2014/01/24 18:54 by razvan.deaconescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0