Installation mit LDAP-Authentifizierung
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.
- LocalSettings.php Ausschnitt mit LDAP
...
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" ]
Tipps
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