Login


 
Newsletter
Werbung
So, 30. Januar 2005, 00:00

OpenLDAP-Adressbuch für Thunderbird

In diesem Artikel möchte ich in einfachen Schritten erklären, wie man mit einem OpenLDAP-Server ein Adressbuch für Thunderbird, aber natürlich auch für Kmail oder Evolution einrichtet.

Von Arno

LDAP-Server konfigurieren

Mehrere Clients mit Adressbüchern synchron halten, ist nicht so leicht und meistens ist die Adresse, welche man gerade braucht, auf einem anderen PC.

Mit diesem kleinen HOWTO möchte ich zeigen, wie man ein globales Adressbuch für Thunderbird einrichtet. Kmail und Evolution können ebenfalls darauf zugreifen und sogar Einträge hinzufügen.

sldapd.conf anpassen

In der Datei /etc/openldap/slapd.conf tragen wir die root dn nach unseren Anforderungen ein. Meine Domain heißt root-riders.at und der Administrator des LDAP-Verzeichnisses Manager. Das Passwort "geheim" ist nicht verschlüsselt und daher unsicher, aber dieses HOWTO soll ja nur eine Einstiegshilfe für einen lauffähigen LDAP-Server sein. Für den anonymen Zugriff sind die Zeilen hinter dem access to * zuständig.

Die Datei sldapd.conf:

#slapd.conf
## für anonymen Zugriff braucht man diese Zeilen
access to *
 by dn="cn=Manager, dc=root-riders,dc=at" write
 by anonymous read
 by users write
######################################################################
# ldbm and/or bdb database definitions
######################################################################
# database ldbm
suffix "dc=root-riders,dc=at"
rootdn "cn=Manager,dc=root-riders,dc=at"
# Cleartext passwords, especially for the rootdn, should
# be avoided. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw geheim
# rootpw {crypt}ijFYNcSNctBYg

Danach mittels /etc/init.d/ldap start den Server starten und schauen, ob Fehlermeldungen kommen. Da eigentlich keine kommen dürften, machen wir weiter und importieren die sogenannten LDIF-Dateien.

Die Organisationsstruktur importieren

Für den Import benötigen wir eine sogenannte LDIF-Datei, in welcher wir alle nötigen Informationen auflisten.

Meine root-riders.ldif, in welcher ich dem Server die rootdn und den Manager bekannt mache, schaut folgendermaßen aus. Gleichzeitig lege ich auch ein Unterverzeichnis (ou=people) der Domain root-riders an, in welchem nachher die Adressen gespeichert werden. Man kann es natürlich auch anders nennen, z.B. adressbook.

# Eintrag 1: dc=root-riders,dc=at
dn:dc=root-riders,dc=at
objectClass: dcObject
objectClass: organization
o: Root-riders
dc: root-riders
# Eintrag 2: cn=Manager,dc=root-riders,dc=at
dn:cn=Manager,dc=root-riders,dc=at
objectClass: organizationalRole
cn: Manager
# Eintrag 3: ou=people,dc=root-riders,dc=at
dn:ou=people,dc=root-riders,dc=at
ou: people
objectClass: organizationalUnit

Jetzt wird es spannend: Mittels ldapadd importieren wir die LDIF-Datei in den LDAP-Server. Der genaue Befehl schaut folgendermaßen aus.

ldapadd -x -D "cn=Manager,dc=root-riders,dc=at" -W < root-riders.ldif

Danach wird man nach dem Manager-Passwort (geheim) gefragt und nach der Eingabe des geheimen Passwortes importiert es die LDIF-Datei.

Ab jetzt können diejenigen, welche eine grafische Konfigurations-Oberfläche bevorzugen, diese verwenden. Von denen, die ich getestet habe, ist mir phpldapadmin am liebsten.

Adressbuch für Thunderbird

Damit der OpenLDAP-Server auch mit allen Einträgen, welche er für Outlook und Thunderbird braucht, umgehen kann, muss man ihm zwei weitere Schema-Dateien zur Verfügung stellen. Es sind folgenden Dateien nötig:

extension.schema
mozilla_op20.schema

Diese zwei Dateien müssen in das Verzeichnis /etc/openldap/schema kopiert werden.

Außerdem müssen sie in der Datei /etc/openldap/slapd.conf dem LDAP-Server bekannt gemacht werden.

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/mozilla_op20.schema
include /etc/openldap/schema/extension.schema

Einfach die zwei Zeilen am Schluss einfügen und danach den Server neu starten.

Erster Adresseintrag

Für die Adressen brauchen wir wieder LDIF-Dateien. Es geht aber auch über den PhpLdapadmin, welcher aber nicht alle Einträge, welche Mozilla lesen kann, zur Verfügung stellt.

Leider sind die einzigen vernünftigen Mail-Clients, welche auch in ein LDAP-Verzeichnis schreiben können, Kmail und Evolution. Ich kenne keinen Windows-Client (hoffe, Thunderbird kann es einmal).

Meine ldif ist auch etwas vereinfacht:

dn:cn=Vorname Nachname,ou=people,dc=root-riders,dc=at
objectClass: top
objectClass: inetOrgPerson
cn: Vorname Nachname
displayName: Vorname Nachname
givenName: Vorname
sn: Nachname
uid: m1GpoMy1A2
homePhone: home phone
telephoneNumber: work phone
facsimileTelephoneNumber: fax
mobile: mobile
pager: pager
description: notes o: work organization
st: work state
l: work city
postalCode: work zip
mail: nachname@root-riders.at

Diese user.ldif importiere ich wieder mit dem Befehl:

ldapadd -x -D "cn=Manager,dc=root-riders,dc=at" -W < user.ldif

Mit dem Befehl ldapsearch können wir gleich testen, ob der Import auch funktioniert hat.

[arno@arno ~]$ ldapsearch -x -D "cn=arno,dc=root-riders,dc=at" -h 192.168.1.1 -
# Nachname Vorname, people, root-riders.at
dn: cn=Nachname Vorname,ou=people,dc=root-riders,dc=at
cn: Nachname Vorname
givenName: Vorname
sn: Nachname
o: Root Riders
l: Linz
postalCode: 4020
street: Beet
telephoneNumber: 9783647
mail: nachname@root-riders.at
objectClass: top
objectClass: inetOrgPerson

Es wird eine Passworteingabe verlangt und danach listet es die Adressbuch-Einträge auf.

Thunderbird konfigurieren

Jetzt können wir Thunderbird konfigurieren und schauen, ob es auch funktioniert.

Den LDAP-Server eintragen

Bei Thunderbird unter Bearbeiten->Kontoeinstellungen auf Verfassen & Adressieren gehen und bei Adressieren die Checkbox bei Einen andern LDAP Verzeichnis-Server verwenden anklicken.

Jetzt kann man mittels der Schaltfläche Bearbeiten... einen neuen LDAP-Server hinzufügen.

Pro-Linux
Pro-Linux @Twitter
Neue Nachrichten
Werbung