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-1.22.2.tar.gz
, 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:
localhost
wikidb
(configurat anterior)wikiuser
(configurat anterior)student
(configurat anterior)InnoDB
ca engine de stocare și UTF-8
ca set de caractere.scp
:student@mjolnir:~/Downloads$ 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 de LDAP pentru MediaWiki în LdapAuthentication/
.
Pentru configurarea 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/
).
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 același fișier (LocalSettings.php
) directivele de configurare 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ă. La nevoie poate fi decomentată și valoarea sa crescută până la 3 pentru mesaje detaliate.
O dată realizată configurația LDAP în fișierul de configurare (LocalSettings.php
), va trebui să creăm tabelele aferente în baza de date. Pentru aceasta rulăm scriptul de actualizare:
student@ldap-client:~/public_html/mediawiki$ php maintenance/update.php [...] Creating ldap_domains table ...done. ...site_stats is populated...done. ...rev_len column of revision table already populated. ...Update 'populate rev_sha1' already logged as completed. ...img_sha1 column of image table already populated. ...protocol-relative URLs in externallinks table already fixed. ...fa_sha1 column of filearchive table already populated. Purging caches...done. Done.
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
.