Hilfe:Tutorial LDAP-Integration

Aus Kompetenzportal
Version vom 30. Juli 2010, 18:30 Uhr von Srvadmin (Diskussion | Beiträge) (Installation und Konfiguration)

Wechseln zu: Navigation, Suche

Dieses Tutorial befindet sich noch im Aufbau!

Vorbereitung

PHP-LDAP-Unterstützung installieren

apt-get install -y php5-ldap

Sysop Benutzer anlegen

  • Vor der Aktivierung des Plugins sollte ein mindestens lokaler Benutzer in der Wiki-Datenbank erstellt werden, der auch auf dem Verzeicnisserver (z.B. AD) vorhanden ist.
  • Diesem Benutzer sollten dann im Wiki sysop Rechte gegeben werden (so stellen sie sicher, dass sie nach der Aktivierung der Erweiterung noch einen Adminzugang haben)

Zertifikate

Für die Nutzung von SSL muss sichergestellt sein, dass der LDAP-Client (Der Webserver auf dem unser Wiki läuft) der root Certificate Authority (CA) des Verzeichnisdienst-Servers vertraut. Dazu reicht es aus die Zertifikatkette der Hochschule vom CA-Portal des Hochschulrechenzentrums herunterzuladen.

  • Zertifikatkette nach /etc/ssl/certs/ laden
  • In der Datei /etc/ldap/openldap.conf folgende Einträge vornehmen:
TLS_CACERT      /etc/ssl/certs/chain
TLS_CACERTFILE  /etc/ssl/certs/
  • Webserver neustarten
/etc/init.d/apache2 restart


Installation und Konfiguration

  • Laden Sie die aktuelle Version herunter und entpacken Sie dese in den extensions Ordner.
  • Anschließen in der LocalSettings.php folgende Einträger vornehmen:
require_once ("$IP/extensions/LdapAuthentication/LdapAuthentication.php");
$wgAuth = new LdapAuthenticationPlugin(); 
  • Nachdem die Erweiterung eingebunden wurden müssen noch die nötigen Optionen in der LocalSettings.php eingetragen werden. Es ist wichtig, dass diese am Ende der Datei und nicht am Anfang stehen, da sie sonst nicht wirksam werden.
  • Grundsätzlich müssen für die Passwort-Authentifizierung mit einer Domäne drei Dinge zu konfiguriert werden:
  1. Domain name
  2. Server names
  3. How to bind to the AD servers


Machen sie die folgenden Einträge in der LocalSettings.php:

#Festlegen des Domain-Namens
$wgLDAPDomainNames = array( "hs-wismar.de" );

#Festlegen des LDAP-Servers
$wgLDAPServerNames = array( "hs-wismar.de" => "mailhost.hs-wismar.de" );

#Suche in der Domäne nach Benutzernamen
$wgLDAPSearchAttributes = array( "hs-wismar.de" => "uid" );
$wgLDAPBaseDNs = array( "hs-wismar.de" => "dc=hs-wismar,dc=de" );

#SSL Verschlüsselung aktivieren
$wgLDAPEncryptionType = array( "hs-wismar.de" => "ssl" );

#keine leeren Passwörter
$wgMinimalPasswordLength = 1;

#Die Nutzung der lokalen Benutzeraccounts wird deaktiviert
$wgLDAPUseLocal = false;

Quellen

Vorraussetzungen [1]
Optionen [2]
Beispiele [3] Beispiel [4]