Differences

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

Link to this comparison view

saisp:labs:01:contents:08 [2014/02/03 09:41]
razvan.deaconescu [08. [BONUS - 10p] Configurare suport de LDAP în MediaWiki]
saisp:labs:01:contents:08 [2014/02/22 19:51] (current)
alexandru.carp
Line 4: Line 4:
  
 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 [[http://​www.mediawiki.org/​wiki/​Manual:​Installing_MediaWiki|pagina de instalare a MediaWiki]]. 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 [[http://​www.mediawiki.org/​wiki/​Manual:​Installing_MediaWiki|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''​):<​code bash>
 +student@ldap-client:​~$ mysql -u root -pstudent
 +[...]
 +mysql> ​
 +</​code>​
 +Astfel conectați vom crea baza de date pentru MediaWiki (denumită ''​wikidb''​):<​code bash>
 +mysql> create database wikidb;
 +Query OK, 1 row affected (0.08 sec)
 +</​code>​
 +și apoi creăm utilizatorul care să fie folosit de MediaWiki pentru accesarea bazei de date (denumit ''​wikiuser'',​ folosibil de pe ''​localhost''​):<​code bash>
 +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)
 +</​code>​
 +Am configurat baza de date MySQL și acum putem ieși din modul de configurare:<​code bash>
 +mysql> exit
 +Bye
 +student@ldap-client:​~$ ​
 +</​code>​
  
 === Instalare MediaWiki === === 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'':<​code bash>+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:<code bash>
 student@ldap-client:​~$ ls student@ldap-client:​~$ ls
 admin-public.git ​ mediawiki-1.22.2.tar.gz ​ public_html admin-public.git ​ mediawiki-1.22.2.tar.gz ​ public_html
Line 22: Line 43:
 Mai sus am redenumit directorul obținut după dezarhivare din ''​mediawiki-1.22.2/''​ în ''​mediawiki/''​. Mai sus am redenumit directorul obținut după dezarhivare din ''​mediawiki-1.22.2/''​ în ''​mediawiki/''​.
  
-=== Configurare ​bază de date ===+Î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'':<​code bash> 
 +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 
 +</​code>​ 
 +  * Acum putem accesa wiki-ul folosind URL-ul http://​192.168.0.3/​~student/​mediawiki/​index.php/​Main_Page.
  
-În primă fază vom configura baza de datePentru început ne vom conecta cu utilizatorul privilegiat ​al MySQL (parola este ''​student''​):<​code bash> +=== Configuare autentificare prin LDAP === 
-student@ldap-client:​~$ ​mysql -u root -pstudent + 
-[...] +Pentru început trebuie să adăugăm [[http://​www.mediawiki.org/​wiki/​Special:​ExtensionDistributor/​LdapAuthentication|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/​''​):<​code bash> 
-mysql> ​+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
 </​code>​ </​code>​
-Astfel conectați vom crea baza de date pentru MediaWiki (denumită ''​wikidb''​):<​code bash> +Am redenumit mai sus directorul aferent extensiei ​de LDAP pentru ​MediaWiki în ''​LdapAuthentication/''​. 
-mysql> create database wikidb+ 
-Query OK, 1 row affected ​(0.08 sec)+Pentru configurarea autentificării prin LDAP pentru MediaWiki urmărim [[http://​www.mediawiki.org/​wiki/​Extension:​LDAP_Authentication/​Options|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:<code bash> 
 +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();​
 </​code>​ </​code>​
-și apoi creăm utilizatorul care să fie folosit ​de MediaWiki ​pentru ​accesarea bazei de date (denumit ​''​wikiuser'', ​folosibil de pe ''​localhost''​):<code bash+ 
-mysqlgrant indexcreateselectinsertupdate, delete, alter, lock tables on wikidb.* to 'wikiuser'@'localhost' ​identified by 'student'; +Adăugăm apoi, în continuare în același fișier (''​LocalSettings.php''​) directivele ​de configurare specifice ​pentru ​serverul ​de LDAP:<​code php> 
-Query OK, 0 rows affected (0.00 sec)+$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';​
 </​code>​ </​code>​
-Am configurat baza de date MySQL și acum putem ieși din modul de configurare:<​code bash> + 
-mysql> exit +Am marcat opțiunea ​de debug comentată. La nevoie poate fi decomentată ​și valoarea sa crescută până la 3 pentru mesaje detaliate. 
-Bye + 
-student@ldap-client:​~$ ​+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:<code bash> 
 +student@ldap-client:​~/​public_html/​mediawikiphp 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.
 </​code>​ </​code>​
 +
 +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.1391413285.txt.gz · Last modified: 2014/02/03 09:41 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