Je nach Distribution sind verschiedene Pakete notwendig. Auf jeden Fall wird funktionierendes LDAP vorausgesetzt.
Im Administrationsmenü vom Dokuwiki muss die Authentifizierungsmethode von plain auf ldap umgestellt werden. Es wäre möglich diesen Punkt auch per Hand in der Konfigurationsdatei zu ändern, aber ich spar mir hier einfach die Tipperei. Nachdem der Punkt geändert und die Konfiguration gespeichert wurde, können sich nur noch LDAP User am Wiki anmelden.
Die eigentliche LDAP Konfiguration erfolgt direkt in der local.php Datei. Zu finden im conf Ordner des Dokuwikis. Je nachdem welchen LDAP Provider ich zur Verfügung hab, sind unterschiedliche Parameter notwendig.
$conf['authtype'] = 'ldap';
$conf['auth']['ldap']['server'] = 'Server eDirectory' # Name oder IP des eDirectory Servers
$conf['auth']['ldap']['usertree'] = 'O=Treename'; # Name des Trees
$conf['auth']['ldap']['userfilter'] = 'uid=%(user))'; # Nach welchen Attributen im User soll gesucht werden?
$conf['auth']['ldap']['grouptree'] = 'OU=Groupname,O=Treename'; # Wo liegen die User im Tree
$conf['auth']['ldap']['groupfilter'] = '(&(objectClass=groupOfNames)(member=%{dn}))';
$conf['superuser'] = '@Wiki_admin'; # Alle User dieser Gruppe haben Admin Rechte im Wiki
$conf['authtype'] = 'ldap';
$conf['auth']['ldap']['server'] = 'DC Server'; # Hier die IP Adresse eines AD Domänencontroller eingeben
$conf['auth']['ldap']['binddn'] = 'example@domain'; # Username mit Rechten zum LDAP Browsen
$conf['auth']['ldap']['bindpw'] = 'Password'; # Passwort für den oben genannten User
$conf['auth']['ldap']['usertree'] = 'dc=domain,dc=local'; # Domain in der die User enthalten sind
$conf['auth']['ldap']['userfilter'] = '(userPrincipalName=%{user}@domain)'; # Auf welche Attribute soll die Authentication laufen
$conf['auth']['ldap']['mapping']['name'] = 'displayname';
$conf['auth']['ldap']['mapping']['grps'] = array('memberof' => '/CN=(.+?),/i');
$conf['auth']['ldap']['referrals'] = 0; # Switch referrals off for use with Active Directory
$conf['auth']['ldap']['version'] = 3;
$conf['superuser'] = '@WikiAdmin'; # Gruppe in der die Mitglieder Wiki Admin Rechte besitzen
Bei Problemen mit der Authentifizierung, am Besten mit dem LDAP Browser prüfen, ober der in der Konfiguration angegebene User auch Rechte zum Auslesen der Userinformationen hat. Sollte dies nicht der Fall sein, einfach im AD User & Computer per Objektverwaltung dem User die Berechtigung „Liest Userinformationen aus“ geben.