This is an old revision of the document!
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.
Î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:~$
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:
localhostwikidb (configurat anterior)wikiuser (configurat anterior)student (configurat anterior)InnoDB ca engine de stocare și UTF-8 ca set de caractere.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
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.