This is an old revision of the document!


08. [BONUS - 10p] Configurare suport de LDAP în MediaWiki

MediaWiki este una dintre cele mai cunoscute și folosite soluții de wiki. Spre deosebire de DokuWiki folosește o bază de date. Pentru aceasta am instalat pe stația client un server MySQL.

Similar cu DokuWiki vom instala MediaWiki în directorul public_html/mediawiki/ din directorul home al utilizatorului student. Pentru instalare vom folosi fișierul arhivă mediawiki-1.22.2.tar.gz din directorul home al utilizatorului student. Vom urma indicațiile de instalare din pagina de instalare a MediaWiki.

Configurare bază de date

În primă fază vom configura baza de date. Pentru început ne vom conecta cu utilizatorul privilegiat al MySQL (parola este student):

student@ldap-client:~$ mysql -u root -pstudent
[...]
mysql> 

Astfel conectați vom crea baza de date pentru MediaWiki (denumită wikidb):

mysql> create database wikidb;
Query OK, 1 row affected (0.08 sec)

și apoi creăm utilizatorul care să fie folosit de MediaWiki pentru accesarea bazei de date (denumit wikiuser, folosibil de pe localhost):

mysql> grant index, create, select, insert, update, delete, alter, lock tables on wikidb.* to 'wikiuser'@'localhost' identified by 'student';
Query OK, 0 rows affected (0.00 sec)

Am configurat baza de date MySQL și acum putem ieși din modul de configurare:

mysql> exit
Bye
student@ldap-client:~$ 

Instalare MediaWiki

După cum am spus vom instala MediaWiki în directorul public_html/mediaiki/ din directorul home al utilizatorului student. Pentru început vom dezarhiva, în acel director, arhiva ~student/public_html/mediawiki, ca utilizatorul student. Vom rula comenzile de mai jos:

student@ldap-client:~$ ls
admin-public.git  mediawiki-1.22.2.tar.gz  public_html
student@ldap-client:~$ cd public_html/
student@ldap-client:~/public_html$ ls
dokuwiki
student@ldap-client:~/public_html$ tar xzf ../mediawiki-1.22.2.tar.gz 
student@ldap-client:~/public_html$ ls
dokuwiki  mediawiki-1.22.2
student@ldap-client:~/public_html$ mv mediawiki-1.22.2/ mediawiki
student@ldap-client:~/public_html$ ls
dokuwiki  mediawiki

Mai sus am redenumit directorul obținut după dezarhivare din mediawiki-1.22.2/ în mediawiki/.

În continuare vom rula scriptul de instalare al MediaWiki. Accesăm URL-ul aferent MediaWiki: http://192.168.0.3/~student/mediawiki/. De la acesta vom continua către pagina de configurare: http://192.168.0.3/~student/mediawiki/mw-config/index.php. În acea pagină realizăm configurarea dorită, adică pașii:

  • Limba dorită: vom opta pentru valoarea implicită (engleză).
  • Verificările de mediu vor fi trecute: vom apăsa butonul “Continue”.
  • La configurările de bază de date, vom folosi pentru diversele câmpuri următoarele valori:
    • Database host: localhost
    • Database name: wikidb (configurat anterior)
    • Database table prefix: nu completăm nimic (nu dorim să avem un prefix în numele tabelelor din baza de date)
    • Database username: wikiuser (configurat anterior)
    • Database password: student (configurat anterior)
  • În opțiunile de bază de date alegem InnoDB ca engine de stocare și UTF-8 ca set de caractere.
  • În fereastra denumită “Name” completați ce opțiuni doriți.
  • În celelalte ferestre alegeți, în continuare, ceea ce vi se pare potrivit.
  • După realizarea configurărilor de mai sus, se va rula scriptul intern de configurare.
  • Apoi se descarcă scriptul de configurare a wiki-ului. Acesta trebuie copiat în directorul de instalare al MediaWiki. Pentru aceasta, mergem în directorul unde a fost descărcat pe sistemul fizic și îl copiem în directorul de instalare folosind comanda scp:
    student@mjolnir:~$ scp LocalSettings.php student@192.168.0.3:public_html/mediawiki/
    student@192.168.0.3's password: 
    LocalSettings.php                             100% 4296     4.2KB/s   00:00
  • Acum putem accesa wiki-ul folosind URL-ul http://192.168.0.3/~student/mediawiki/index.php/Main_Page.

Configuare autentificare prin LDAP

Pentru început trebuie să adăugăm extensia de LDAP aferentă MediaWiki. Este deja descărcată în fișierul wikimedia-mediawiki… din directorul home al utilizatorului student de pe stația client. O vom dezarhiva în subdirectorul extensions/ din directorul de instalare al MediaWiki (în cazul nostru ~student/public_html/mediawiki/):

student@ldap-client:~$ cd public_html/mediawiki/extensions/
 
student@ldap-client:~/public_html/mediawiki/extensions$ tar xzf ~/wikimedia-mediawiki-extensions-LdapAuthentication-2.0c-31-g300d43f.tar.gz
 
student@ldap-client:~/public_html/mediawiki/extensions$ ls
Cite                Poem
ConfirmEdit         README
Gadgets             Renameuser
ImageMap            SimpleAntiSpam
InputBox            SpamBlacklist
Interwiki           SyntaxHighlight_GeSHi
LocalisationUpdate  TitleBlacklist
Nuke                WikiEditor
ParserFunctions     wikimedia-mediawiki-extensions-LdapAuthentication-300d43f
PdfHandler
 
student@ldap-client:~/public_html/mediawiki/extensions$ mv wikimedia-mediawiki-extensions-LdapAuthentication-300d43f/ LdapAuthentication
 
student@ldap-client:~/public_html/mediawiki/extensions$ ls
Cite         Interwiki           PdfHandler      SpamBlacklist
ConfirmEdit  LdapAuthentication  Poem            SyntaxHighlight_GeSHi
Gadgets      LocalisationUpdate  README          TitleBlacklist
ImageMap     Nuke                Renameuser      WikiEditor
InputBox     ParserFunctions     SimpleAntiSpam

Am redenumit mai sus directorul aferent extensiei în LdapAuthentication.

Pentru configurare autentificării prin LDAP pentru MediaWiki urmărim pagina aferentă pentru configurare. Configurările vor fi realizate din directorul de instalare al MediaWiki (adică ~student/public_html/mediawiki/). Pentru a crea tabelele afernte rulăm scriptul de actualizare:

student@ldap-client:~/public_html/mediawiki$ php maintenance/update.php
[...]
Done.

Apoi adăugăm suport pentru autentificarea pe bază de LDAP în fișierul LocalSettings.php, folosind un editor. Le adăugăm la sfârșitul fișierului ca să avem rezultatul de mai jos:

student@ldap-client:~/public_html/mediawiki$ tail -5 LocalSettings.php
 
# End of automatically generated settings.
# Add more configuration options below.
require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
require_once( "$IP/includes/AuthPlugin.php" );
$wgAuth = new LdapAuthenticationPlugin();

Adăugăm apoi, în continuare în fișier configurările specifice pentru serverul de LDAP:

$wgLDAPDomainNames = array(
  'my-ldap-server',
);
$wgLDAPServerNames = array(
  'my-ldap-server' => 'ldap-server.local',
);
$wgLDAPUseLocal = false;
$wgLDAPEncryptionType = array(
  'my-ldap-server' => 'ssl',
);
$wgLDAPPort = array(
  'my-ldap-server' => 636,
);
$wgLDAPSearchAttributes = array(
  'my-ldap-server' => 'uid'
);
$wgLDAPBaseDNs = array(
  'my-ldap-server' => 'dc=labs,dc=cs,dc=pub,dc=ro',
);
# To pull e-mail address from LDAP
$wgLDAPPreferences = array(
  'my-ldap-server' => array( 'email' => 'mail')
);
// May use debug level 3 for extensive debugging.
// $wgLDAPDebug = 1;
// $wgDebugLogGroups['ldap'] = '/tmp/debug.log';

Am marcat opțiunea de debug comentată. Dacă este nevoie poate fi decomantată și valoarea sa crescută până la 3 pentru mesaje detaliate.

După aceasta se accesează instanța de MediaWiki (http://192.168.0.3/~student/mediawiki/index.php/Main_Page) și apoi se poate folosi link-ul “Log in” pentru autentificarea folosind LDAP. La opțiunea “Your domain:” se păstrează valoarea my-ldap-server.

saisp/labs/01/contents/08.1392726183.txt.gz · Last modified: 2014/02/18 14:23 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