OpenLDAP

Aus Ubuntu-Forum Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(User in phpLDAPadmin anlegen)
Zeile 175: Zeile 175:
== User in phpLDAPadmin anlegen ==
== User in phpLDAPadmin anlegen ==
 +
Ohne jetzt im Detail auf die Funktionsweise eines LDAP-Servers eingehen zu wollen, möchte ich Euch in kurzen Schritten zeigen, wie Ihr einen Testuser anlegen könnt.
 +
 +
Die Grundstruktur ist die Domain, die ist bereits angelegt. Darunter folgt die OU (Organization Unit), die hier den Namen "people" erhält. Darunter werden erst die eigentlichen User angelegt.
 +
 +
 +
=== OU anlegen ===
 +
 +
Klickt rechts im Menü auf:
 +
 +
* Create new entry here
== LDAP im Thunderbird einrichten ==
== LDAP im Thunderbird einrichten ==

Version vom 19. Mai 2007, 19:04 Uhr

Inhaltsverzeichnis


OpenLDAP ist ein Verzeichnisdienst wie das ActiveDirectory in der Windows-Server Welt. OpenLDAP ist dabei frei und kostenfrei erhältlich. Ich beschreibe hier die Konfiguration eines OpenLDAP-Servers für die Verwendung als Adressbuch, was aber natürlich lange nicht alles ist, was LDAP kann.

Vorraussetzung für das Tutorial ist, dass Ihr mit nano umgehen könnt und Ubuntu mit Apache2 und PHP5 installiert habt (vorzugsweise Ubuntu 6.06.1 LTS Server).


1 Pakete installieren

Zunächst startet Ihr ein Terminal auf Eurem Server und wechselt in den SuperUser-Modus, damit Ihr nicht dauernd "sudo" vor jedem zweiten Befehlt schreiben müsst.

# sudo -s

Die Quellen in /etc/apt/sources.list sollten bereits angepasst sein und die Universe Pakete enthalten!

# apt-get install slapd ldap-utils nmap

Das war auch schon die Grundinstallation. Während der Installation von slapd werdet Ihr nach einem Passwort gefragt. Merkt Euch dieses gut! :)


2 OpenLDAP konfigurieren

Nun schauen wir mal, ob der Server auch gestartet wurde, dafür benötigen wir das eben installierte nmap

# nmap localhost | grep ldap

Es sollte nun folgendes angezeigt werden:

389/tcp open ldap


Nun richten wir das Loglevel ein. Der Wert 296 ist für uns ideal, denn dort werden Resultate, Suchfilter und Verbindungsmangement geloggt.

# nano /etc/ldap/slapd.conf

Sucht (Strg+W) nach dem Stichwort "loglevel" und tragt dort die 296 ein

# Read slapd.conf(5) for possible values
loglevel        296

Nun die Datei speichern (Strg+O).


In der Datei /etc/syslog.conf tragt Ihr nun noch folgendes ein (unten drunter):

# local4.debug /var/log/slapd.log


Als nächstes generieren wir einen SSHA-Schlüssel, den wir gleich brauchen:

# slappasswd
New password: xxxxxx
Re-enter new password: xxxxxx
{SSHA}4GMPGS/UQTOJ7LdI+iOu7lExQAbpzX6/

Markiert die unterste Zeile und kopiert Euch dies möglichst in die Zwischenablage. (der Key der hier gezeigt wird ist das Passwort: xxxxxx, Euer Key sieht dann ganz anders aus ;))


Nun legen wie die Daten für die Basis des LDAP-Servers fest indem wir die Datei /etc/ldap/slapd.conf editieren und den Wert "suffix" folgendermaßen verändern:

HINWEIS! Beim Ubuntu-Server sollten hier eigentlich schon die richtigen Angaben drinstehen, sofern diese unter /etc/hostname gesetzt wurden!

suffix "dc=meinedomain,dc=local"


Diese Änderungen müssen in der ganzen Datei angepasst werden.

Am Ende der Datei fügt Ihr nun die Administrator-Daten ein:

rootdn "cn=admin,dc=meinedomain,dc=local"
rootpw {SSHA}4GMPGS/UQTOJ7LdI+iOu7lExQAbpzX6/

Anschließend speichert Ihr die Datei (Strg+O) und startet den LDAP-Server neu:

# /etc/init.d/slapd restart


Als sagen wir den Clients wo der Server überhaupt ist, dafür erstellen wir die /etc/ldap/ldap.conf neu mit folgendem Inhalt:

ldap_version 3
URI ldap://192.168.x.x:389
SIZELIMIT 0
TIMELIMIT 0
DEREF never
BASE dc=meinedomain, dc=local 

Die URI ist die IP oder Domain Eures Servers! Wenn Ihr einen DNS-Server laufen habt, könnt Ihr hier auch im Stil von "ldap.meinedomain.local" einen Eintrag machen.


Nun legen wir die Administrationsdaten an, damit wir uns später auch im Server anmelden können.

Erstellt dazu eine Datei namens base.ldif und gebt folgenden Inhalt ein:

# nano base.ldif

Inhalt:

dn:dc=meinedomain,dc=local
objectClass: dcObject
objectClass: organization
o: meinedomain
dc: meinedomain

dn:cn=admin,dc=meinedomain,dc=local
objectClass: organizationalRole
cn: admin

Datei speichern (Strg+O).

Nun fügen wir die eben angelegte Datei per ldapadd dem LDAP-Server hinzu:

# ldapadd -x -W -D cn=admin,dc=meinedomain,dc=local -f base.ldif
Enter LDAP Password: xxxxxx
adding new entry "dc=meinedomain,dc=local"
adding new entry "cn=admin,dc=meinedomain,dc=local"

Es kann sein, dass der Server meldet, dass die Daten schon vorhanden sind, wenn das so ist, könnt Ihr die Meldung ignorieren!


Mit ldapsearch -x können wir die Daten vom Server abfragen:

# ldapsearch -x
# extended LDIF
#
# LDAPv3
# base <> with scope sub
# filter: (objectclass=*)
# requesting: ALL
#
# meinedomain.local
dn: dc=meinedomain,dc=local
objectClass: dcObject
objectClass: organization
o: meinedomain
dc: meinedomain
# admin, meinedomain.local
dn: cn=admin,dc=meinedomain,dc=local
objectClass: organizationalRole
cn: admin
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2


Die Konfiguration ist damit abgeschlossen. Weiter gehts mit der Installation von phpLDAPadmin! :)


3 phpLDAPadmin einrichten

Phpldapadmin.png

Das ebenfalls als OpenSource verfügbare Administrationstool phpLDAPadmin kann mit wenigen Handgriffen installiert werden.

# apt-get install phpldapadmin

Anschließend empfiehlt es sich einen Link zu dem Verzeichnis der Installation zu legen, damit die Administrationsoberfläche bequem erreichbar ist.

# ln -s /usr/share/phpldapadmin /var/www/phpldapadmin
# /etc/init.d/apache2 restart

Nun ist die Administration per http://SERVERNAME/phpldapadmin erreichbar.


WICHTIGE INFO ZUM LOGIN

Es hat mich einige graue Haare gekostet bis ich endlich raushatte, wie man sich richtig einloggt, weil es nirgends stand:

Login DN: cn=admin,dc=meinedomain,dc=local Passwort: zuvor vergebenes


4 User in phpLDAPadmin anlegen

Ohne jetzt im Detail auf die Funktionsweise eines LDAP-Servers eingehen zu wollen, möchte ich Euch in kurzen Schritten zeigen, wie Ihr einen Testuser anlegen könnt.

Die Grundstruktur ist die Domain, die ist bereits angelegt. Darunter folgt die OU (Organization Unit), die hier den Namen "people" erhält. Darunter werden erst die eigentlichen User angelegt.


4.1 OU anlegen

Klickt rechts im Menü auf:

* Create new entry here

5 LDAP im Thunderbird einrichten

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Forum
Navigation
Internes
Bearbeitungshilfen
Werkzeuge