Hilfe:Tutorial LDAP-Integration: Unterschied zwischen den Versionen
Zeile 26: | Zeile 26: | ||
''require_once ("$IP/extensions/LdapAuthentication/LdapAuthentication.php"); | ''require_once ("$IP/extensions/LdapAuthentication/LdapAuthentication.php"); | ||
$wgAuth = new LdapAuthenticationPlugin(); '' | $wgAuth = new LdapAuthenticationPlugin(); '' | ||
+ | |||
=Konfiguration= | =Konfiguration= | ||
Zeile 61: | Zeile 62: | ||
$wgLDAPEncryptionType = array( "TESTAD" => "ssl" ); | $wgLDAPEncryptionType = array( "TESTAD" => "ssl" ); | ||
+ | |||
=Quellen= | =Quellen= |
Version vom 30. Juli 2010, 18:20 Uhr
Dieses Tutorial befindet sich noch im Aufbau!
Inhaltsverzeichnis
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
- 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();
Konfiguration
- 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:
- Domain name
- Server names
- 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:
$wgLDAPDomainNames = array( "TESTAD" );
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" );
Bindung an den Ad-Server
$wgLDAPSearchAttributes = array( "hs-wismar.de" => "uid" ); $wgLDAPBaseDNs = array( "hs-wismar.de" => "dc=hs-wismar,dc=de" );
$wgLDAPEncryptionType = array( "hs-wismar.de" => "ssl" ); $wgMinimalPasswordLength = 1; $wgLDAPUseLocal = false;
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).
To change the encryption type, place the following into LocalSettings.php:
$wgLDAPEncryptionType = array( "TESTAD" => "ssl" );
Quellen
Vorraussetzungen [1]
Optionen [2]
Beispiele [3]
Beispiel [4]