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.
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
auf gehen und bei Adressieren die Checkbox bei anklicken.Jetzt kann man mittels der Schaltfläche
einen neuen LDAP-Server hinzufügen.