OpenLDAP

Worum geht es eigentlich?

LDAP steht für Lightweight Directory Access Protocol. Mit OpenLDAP können Sie wie in einem Telefonbuch oder einer Datenbank viele Informationen speichern und bereitstellen; z.B. können Sie sich ein umfassendes Adress- und e-mail-Verzeichnis anlegen. Sie können aber auch die komplette Struktur eines Betriebes oder einer Firma mit OpenLDAP erfassen. Viele Anwendungen können ganz automatisch auf ein LDAP Verzeichnis zugreifen und die Informationen daraus dem Anwender zur Verfügung stellen oder sie ersparen sich gleichbleibende Daten immer wieder neu eingeben zu müssen (z.B.: Email Adressen, Telefonnummern, Passwörter...).

Ab Mac OS X Server 10.3 ist ein Dienst, namens Open Directory 2, der auf OpenLDAP basiert, inkludiert. Damit kann ein LDAP Verzeichnis Server bequem über ein paar Menüs eingerichtet werden. Als Client kann ein Mac, von Haus aus, auf LDAP Verzeichnisse zugreifen. Einfach mit dem Programm "Verzeichnisdienste", LDAP v.2 oder LDAP v.3 auswählen und den örtlichen Administrator zwecks Angabe der nötigen Konfiguration fragen.

Kompilieren und Installieren der OpenLDAP Software

Dieses Kapitel beschreibt detailliert, wie das OpenLDAP Softwarepaket, inklusive slapd(8), dem Standalone LDAP Daemon, und slurpd(8), dem Standalone Update-Replikationsdaemon, kompiliert und installiert wird. Es sind mehrere Schritte erforderlich um OpenLDAP erfolgreich zu kompilieren und zu installieren: vorausgesetzte Software installieren, OpenLDAP konfigurieren, kompilieren und letztendlich installieren. Die folgenden Abschnitte sollen diese Vorgänge näher erläutern.

Beschaffung und Dekomprimierung der Software

Um die OpenLDAP Software zu bekommen, können sie die Downloadseite ( http://www.openldap.org/software/download/ ) oder den FTP Server ( ftp://ftp.openldap.org/pub/OpenLDAP/ ) des OpenLDAP Projektes benutzen.

Das OpenLDAP Projekt betreibt zwei Paketserien für den allgemeinen Gebrauch. Releases werden erstellt, wenn neue Features und Bug Fixes in die OpenLDAP Software einfliessen. Obwohl das Projekt versucht, die Stabilität dieser Releases zu verbessern, ist es üblich, dass nach dem Release Probleme bekannt werden. Die zweite Paketserie ist der letzte Release, der seine Stabilität durch weiträumigen Einsatz bewiesen hat.

OpenLDAP Nutzer können, je nach Wunsch, zwischen den neuesten Features, oder etablierter Stabilität wählen, und die entsprechende Paketserie installieren.

downloadmanager

Nach dem Download der Software müssen Sie die Distribution aus dem komprimierten Archiv extrahieren. Wechseln Sie danach in das oberste Verzeichnis der Distribution:

gunzip -c openldap-VERSION.tgz | tar xf -
cd openldap-VERSION

Ersetzen Sie VERSION durch die Versionsnummer des jeweiligen Release.

Sie sollten sich jetzt die Zeit nehmen, die COPYRIGHT, LICENSE, README und INSTALL Dokumente zu lesen, die Teil der Distribution sind. COPYRIGHT und LICENSE enthalten Informationen bezüglich der Nutzung, des Kopierens und der eingeschränkten Garantie der OpenLDAP Software. README und INSTALL geben detaillierte Informationen zu vorausgesetzter Software und Installationsvorgängen.

Vorausgesetzte Software

OpenLDAP stützt sich auf eine Reihe von Softwarepaketen, die von Dritten vertrieben werden. Je nachdem welche Features Sie nutzen wollen, müssen Sie eventuell mehrere zusätzliche Softwarepakete herunterladen und installieren. Dieser Abschnitt behandelt häufig gebrauchte Softwarepakete von Dritten, die auch Sie möglicherweise installieren müssen. Bedenken Sie, dass einige dieser Pakete vielleicht weitere Pakete benötigen. Installieren Sie jedes Paket nach den entsprechenden Anweisungen.

TLS

Damit OpenLDAP Clients und Server TLS Dienste anbieten können, müssen die OpenSSL TLS Bibliotheken installiert sein. Obwohl diese Bibliotheken bei manchen Betriebssystemen in der Basisinstallation, oder als optionale Software enthalten sind, benötigt OpenSSL oft eine getrennte Installation.

Sie können OpenSSL unter http://www.openssl.org/ bekommen.

Solange das configure Script von OpenLDAP nicht eine nutzbare OpenSSL Installation vorfindet, wird OpenLDAP nicht vollständig dem LDAPv3 Standard genügen.

Kerberos Authentifikationsdienste

OpenLDAP Clients und Server unterstützen Kerberos-basierte Authentifikationsdienste. Genauer gesagt unterstützt OpenLDAP SASL/GSSAPI Authentifikationsmechanismen. Hierzu werden entweder Heimdal oder MIT Kerberos V Pakete benutzt. Wenn Sie vorhaben, Kerberos-basierte SASL/GSSAPI Authentifikation einzusetzen, sollten Sie entweder Heimdal oder MIT Kerberos V installieren. Für den Einstieg ist es auch möglich sein Passwort unverschlüsselt zu senden.

Heimdal Kerberos ist unter http://www.pdc.kth.se/heimdal/ verfügbar. MIT Kerberos ist unter http://web.mit.edu/kerberos/www/ zu beziehen.

Der Einsatz starker Authentifizierung, wie von Kerberos geboten, wird dringend empfohlen.

SASL

OpenLDAP Clients und Server benötigen die Installation der Cyrus SASL Bibliotheken, um SASL Dienste bieten zu können. Obwohl diese Bibliotheken bei manchen Betriebssystemen in der Basisinstallation, oder als optionale Software enthalten sind, benötigt Cyrus SASL oft eine getrennte Installation.

Cyrus SASL ist unter http://asg.web.cmu.edu/sasl/sasl-library.html verfügbar. Es benutzt die OpenSSL und Kerberos/GSSAPI Bibliotheken, falls diese schon installiert sind.

Solange das configure Script von OpenLDAP nicht eine nutzbare Cyrus SASL Installation vorfindet, wird OpenLDAP nicht vollständig dem LDAPv3 Standard genügen.

Datenbanksoftware

Das primäre Datenbank-Backend von OpenLDAP, LDBM, benötigt ein kompatibles Datenbankpaket um Einträge zu speichern. LDBM ist kompatibel zu Sleepy's BerkeleyDB (empfohlen), oder dem GNU Database Manager (GDBM) der FSF. Sollte beim Aufruf des configure Scripts keines dieser Pakete installiert sein, ist es nicht möglich, slapd(8) mit primärem Datenbank-Backend zu kompilieren.

Möglicherweise ist eines oder beide dieser Pakete Teil der Basisinstallation, oder ein optionales Softwarepaket Ihres Betriebssystems. Sollte dieses nicht der Fall sein, müssen Sie sich eines dieser Pakete selbst beschaffen und installieren.

BerkeleyDB ist auf Sleepy´s Download-Seite http://www.sleepycat.com/download/index.shtml erhältlich. Es stehen mehrere Versionen zur Verfügung. Zum Verfassungszeitpunkt dieses Dokumentes wird der aktuelle Release, Version 4.1.25, empfohlen.

Andernfalls kommt es später zu folgender Fehlermeldung:

keine Bdb

GDBM kann von der Download-Seite der FSF, ftp://ftp.gnu.org/pub/gnu/gdbm/, bezogen werden. Zum Zeitpunkt der Verfassung dieses Dokumentes, trägt der aktuelle Release die Versionsnummer 1.8.3

TCP Wrapper

Slapd(8) unterstützt TCP Wrapper (Zugangskontrollfilter auf IP Ebene), wenn diese installiert sind. Für Server, die nicht-öffentliche Informationen enthalten, wird der Einsatz von TCP Wrappern oder anderen Zugangskontrollfiltern auf IP Ebene, wie z.B einer Firewall auf IP Ebene, empfohlen.

configure verwenden

Nun sollten Sie das configure Script mit der --help Option ausführen. Dies gibt Ihnen eine Liste mit Optionen, die Sie verändern können, wenn Sie OpenLDAP kompilieren. Viele der Features von OpenLDAP können auf diese Weise aktiviert oder deaktiviert werden.

        ./configure --help

Das configure Script wird in mehreren Umgebungsvariablen nach bestimmten Einstellungen suchen. Unter diesen Umgebungsvariablen sind:

Tabelle 4.1: Umgebungsvariablen
Variable Beschreibung
CC Alternativen C Compiler bestimmen
CFLAGS Zusätzliche Compiler Flags bestimmen
CPPFLAGS C Präprozessor Flags bestimmen
LDFLAGS Linker Flags bestimmen
LIBS Zusätzliche Bibliotheken bestimmen

Führen Sie das configure Script nun mit den gewünschten Optionen und Umgebungsvariablen aus.

        [[env] settings] ./configure [options]

Lassen Sie uns z.B annehmen, dass Sie OpenLDAP mit LDBM Backend und TCP Wrapper Support installieren möchten. LDBM ist per Voreinstellung aktiviert, bei TCP Wrappern ist das nicht der Fall. Wir müssen also nur --with-wrappers angeben, um TCP Wrapper Support hinzuzufügen. --enable-ldbm und --enable-perl sollten auch hinzugefügt werden, falls beim Testen später entsprechende Fehlermeldungen auftauchen.

        ./configure --with-wrappers --enable-ldbm --enable-perl

Configure

Die Software kompilieren

Sobald Sie das configure Script ausgeführt haben, sollte folgende Zeile zuletzt ausgegeben worden sein:

        Please "make depend" to build dependencies

Sollte dieses nicht die letzte von configure ausgegebene Zeile sein, ist configure gescheitert. Sehen Sie sich die Ausgabe des Scriptes an um herauszufinden, was falsch gelaufen ist. Solange configure nicht erfolgreich ausgeführt wurde, sollten Sie mit der Installation nicht fortfahren.

Um die Abhängigkeiten zu erzeugen, führen Sie folgendes aus:

        make depend

Nun kompilieren Sie die Software:

        make

Die Bildschirmausgabe dieses Befehls sollten Sie sich aufmerksam durchlesen um sicherzugehen, dass alles richtig kompiliert wird. Beachten Sie, dass dieser Befehl die LDAP Bibliotheken, die entsprechenden Clients, sowie slapd(8) und slurpd(8) erstellt.

Testen der Software

Wenn OpenLDAP richtig konfiguriert und kompiliert wurde, sollten Sie die Testumgebung nutzen, um die Software zu überprüfen.

        make test

Es werden nun Tests, die Ihrer Konfiguration entsprechen, durchgeführt, welche auch erfolgreich abgeschlossen werden sollten. Einige Tests, z.B. der Replikationstest, werden übersprungen, sollten sie nicht Ihrer Konfiguration entsprechen.

Installieren der Software

Haben Sie die Software erfolgreich getestet? Dann sind Sie jetzt bereit, sie zu installieren.
Sie benötigen Schreibrechte in den Installationsverzeichnissen, die Sie mit configure angegeben haben. Per Voreinstellung wird OpenLDAP in /usr/local installiert. Wenn Sie diese Einstellung mit der --prefix Option von configure verändert haben, wird OpenLDAP in dem von Ihnen angegebenen Verzeichnis installiert.

Normalerweise benötigen Sie für die Installation Super-User Rechte. Wechseln Sie in das oberste Verzeichnis Ihrer OpenLDAP Distribution und gegeben Sie ein:

        sudo root -c 'make install'

Lesen Sie die Ausgabe dieses Befehls aufmerksam durch um sicherzugehen, dass alles richtig installiert wird. Die Konfigurationsdateien für slapd(8) befinden sich per Voreinstellung in /usr/local/etc/openldap.

Weiter zur Konfiguration des LDAP Servers...