OS: debian jessie 64 bit
apt-get install mediawiki-extensions-ldapauth apache2 imagemagick inkscape mysql-server git-mediawiki php5-intl libapache2-mod-php5 php5-mysql php5-xcache
neueste Mediawikiversion downloaden (https://www.mediawiki.org/wiki/Download), nach /var/www/mediawiki/it
kopieren
und die Rechte für www-data anpassen.
neueste LDAP-Extension downloaden (https://www.mediawiki.org/wiki/Extension:LDAP_Authentication), nach /var/www/mediawiki/it/extensions/
kopieren
und die Rechte für www-data anpassen.
Apache2-Datei /etc/apache2/conf-available/mediawiki.conf
:
Alias /mediawiki/it "/var/www/mediawiki/it" <Directory "/var/www/mediawiki/it"> Allow from All </Directory>
dann:
a2enconf mediawiki
http://mySrv/mediawiki erstmal standard durchinstallieren.Mediawiki legt Datenbank selber an; dann erst
LocalSettings.php
mit eigenen Werten editieren, ins Verzeichnis kopieren und die Rechte für www-data anpassen.
cp LocalSettings.php /var/www/mediawiki/it/ service apache2 restart
für LDAP müssen die zur Version passenden Extensions ins extensions-Verzeichnis kopiert werden.
... wfLoadExtension( 'PluggableAuth' ); wfLoadExtension( 'LDAPProvider' ); wfLoadExtension( 'LDAPAuthorization' ); #wfLoadExtension( 'LDAPGroups' ); #wfLoadExtension( 'LDAPUserInfo' ); wfLoadExtension( 'LDAPAuthentication2' ); $LDAPAuthentication2AllowLocalLogin = true; $wgPluggableAuth_EnableLocalLogin = true; $wgGroupPermissions['*']['autocreateaccount'] = true; # End of automatically generated settings. # Add more configuration options below. ################################### $LDAPProviderDomainConfigProvider = function() { $config = [ 'mydom.ain' => [ 'connection' => [ "server" => "mydc1 mydc2", "user" => "CN=ldapuser,OU=Administration,DC=my,DC=domain", "pass" => 'password', "options" => [ "LDAP_OPT_DEREF" => 1 ], "basedn" => "DC=my,DC=domain", "enctype" => "TLS", "port" => "389", "groupbasedn" => "DC=my,DC=domain", "userbasedn" => "DC=my,DC=domain", "searchattribute" => "samaccountname", "searchstring" => "USER-NAME@my.domain", "usernameattribute" => "samaccountname", "realnameattribute" => "cn", "emailattribute" => "mail" ], 'authorization' => [ 'rules' => [ 'groups' => [ 'required' => [ ] ] ] ] ] ]; return new \MediaWiki\Extension\LDAPProvider\DomainConfigProvider\InlinePHPArray( $config ); }; ################################### # 'required' => [ "CN=MYGROUP,OU=Groups,DC=my,DC=domain" ]
Adminpasswort ändern:
php wikverzeichnis/maintenance/changePassword.php --user=myadmin --password=mypassword --user_id=1
LDAP-Benutzerinfos auslesen:
php extensions/LDAPProvider/maintenance/ShowUserInfo.php --conf LocalSettings.php -d mydom.ain -u myuser
LDAP-Gruppen eines Benutzer auslesen:
php7.4 extensions/LDAPProvider/maintenance/ShowUserGroups.php -d mydom.ain -u myuser
alte, unbenutzte Konten entfernen:
php maintenance/removeUnusedAccounts.php
alte Revisionen entfernen:
php maintenance/deleteOldRevisions.php php maintenance/deleteOldRevisions.php --delete
Passwort am LDAP testen:
php extensions/LDAPProvider/maintenance/CheckLogin.php -d mydom.ain -u myuser
Benutzer in psql anzeigen lassen:
select * from mediawiki.actor WHERE actor_name like '%ch%'; select * from mediawiki.mwuser WHERE user_name like '%ch%';
Fehler:Benutzer können sich nach Mediawikimigration von lokalen auf LDAP-Benutzern nicht mehr anmelden.
alte Benutzer in Tabelle Actor und mwuser umbenennen z.B. Walter nach Walter.local .
das Löschen der Benutzer löscht anscheinend auch alle Einträge der Benutzer und beschädigt Mediawiki irreparabel.
deshalb immer vorher Backup!
pg_dump mywikidb -U mywikiuser -W > /root/mywikidb.dmp