Hilfe:Tutorial LDAP-Integration: Unterschied zwischen den Versionen

Aus Kompetenzportal
Wechseln zu: Navigation, Suche
(Festlegen des Domain-Namens)
Zeile 33: Zeile 33:
 
# How to bind to the AD servers
 
# How to bind to the AD servers
  
==Festlegen des Domain-Namens==
 
Der Domain-Name wird für alle LDAP-Konfigurationseinstellungen verwendet und ist für Benutzer sichtbar, wenn sie sich anmelden. Es wird empfohlen den Kurznamen der Domäne einzutragen.Wenn ihre Domain zum Beispiel TESTAD.EXAMPLE.COM ist, dann sollten sie TESTAD als ihren Domain-Namen setzten.
 
  
Machen sie den folgenden Eintrag in der LocalSettings.php um den Domain Namen festzulegen:
+
Machen sie die folgenden Einträge in der LocalSettings.php
''$wgLDAPDomainNames = array( "hs-wismar.de" );''
+
  
==Einstellen der Server-Namen==
 
* Das Plugin muss den ''fully qualified domain name (FQDN)'' für jeden Verzeichnisdeinst-Server kennen um sich mit ihnen verbinden zu können.
 
* Es können mehrere Server duch Leerzeichen getrennt angegeben werden. (Für Failover)
 
  
  ''$wgLDAPServerNames = array( "TESTAD" => "adserver1.testad.example.com adserver2.testad.example.com" );''
+
  ''#Festlegen des Domain-Namens
 
+
$wgLDAPDomainNames = array( "hs-wismar.de" );
==Bindung an den Ad-Server==
+
 
+
#Festlegen des LDAP-Servers
$wgLDAPSearchAttributes = array( "hs-wismar.de" => "uid" );
+
$wgLDAPServerNames = array( "hs-wismar.de" => "mailhost.hs-wismar.de" );
$wgLDAPBaseDNs = array( "hs-wismar.de" => "dc=hs-wismar,dc=de" );
+
 
+
#Suche in der Domäne nach Benutzernamen
$wgLDAPEncryptionType = array( "hs-wismar.de" => "ssl" );
+
$wgLDAPSearchAttributes = array( "hs-wismar.de" => "uid" );
$wgMinimalPasswordLength = 1;
+
$wgLDAPBaseDNs = array( "hs-wismar.de" => "dc=hs-wismar,dc=de" );
$wgLDAPUseLocal = false;
+
 
+
#SSL Verschlüsselung aktivieren
 
+
$wgLDAPEncryptionType = array( "hs-wismar.de" => "ssl" );
By default the LDAP plugin is set to bind using encryption. Specifically, the plugin defaults to tls using LDAP (port 389). AD doesn’t support tls, so the encryption type needs to be changed. The supported encryption types are clear, tls, and ssl. AD doesn’t allow clear text binds by default, and only supports the ssl encryption type using LDAPS (port 636). If you wish to use clear text binds, you’ll need to change your AD security settings (not recommended).
+
 
+
#keine leeren Passwörter
To change the encryption type, place the following into LocalSettings.php:
+
$wgMinimalPasswordLength = 1;
 
+
$wgLDAPEncryptionType = array( "TESTAD" => "ssl" );
+
#Die Nutzung der lokalen Benutzeraccounts wird deaktiviert
 +
$wgLDAPUseLocal = false;''
  
  

Version vom 30. Juli 2010, 18:30 Uhr

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]