Howto: Globales Adressbuch mit OpenLDAP und phpldapadmin
Benötigte Pakete
- apache2
- apache2_php4 oder apache2_php5
- openldap
- phpldapadmin
Konfiguration der Pakete
apache2
Der Web-Server erfordert keine besonderen Einstellungen.
apache2_php4 bzw. apache2_php5
Die PHP-Scriptsprache für den Web-Server erfordert ebenfalls keine besonderen Einstellungen.
openldap
Direkt nach der Installation werden die Grundwerte für das LDAP-Verzeichnis abgefragt:
- First Base Name [lan]:
- Second Base Name [home]:
- Administrator Name [ldapadmin]:
- Enter new password:
- Retype new password:
Hier werden die in Klammern angegebenen Werte übernommen oder den eigenen Wünschen entsprechend angepasst.
Anschließend ist der LDAP-Server funktionsfähig.
phpldapadmin
Das Paket phpldapadmin benötigt für die Verwaltung eines ldap-Servers auf dem gleichem Host keinerlei abweichende Konfiguration von den default-Werten.
Einloggen in phpldapadmin
Im Feld "Login DN" sind die Werte entspechend an die bei der Konfiguration des openldap gewählten Werte anzupassen.
Default-Struktur des OpenLDAP nach Installation
Grundstruktur für das Adressbuch importieren
Für diese Howto wird nicht wie im vorherigen Kapitel gezeigt die Unterorganisation [OU] "global-adressbook" verwendet. Es wird eine eigene Unterorganisation [OU] angelegt, in der wiederum entsprechende Unterorganisationen für die Verwaltung der Adressbuchbenutzer, der Adressbücher sowie der Adressbuchgruppen angelegt werden.
Um diesen Schritt zu vereinfachen steht eine Import-Datei im LDIF-Format zur verfügung.
Diese Datei wird in phpldapadmin über die Import-Funktion importiert.
In dieser Datei sind eventuell die Namen für die LDAP-Basis [dc=] entsprechend der Konfiguration vor dem Import anzupassen.
Struktur nach dem Import
Anlegen/Anpassen von Einträgen im LDAP-Verzeichnis
Die Einträge sind entsprechend der Mustereinträge anzupassen - dieser Teil wird zukünftig noch durch weitere Beispiele ergänzt.
Rechte auf das Adressbuch anpassen
Die Rechte der einzelen Adressbuch-Nutzer auf die Nutzer- bzw. Gruppenadressbücher wird über eine externe Konfigurationsdatei des slapd (LDAP-Server) gesteuert.
Zusätzliche Konfigurationsdatei acl_adressbook.conf für das Adresbuch -> Ablage in /etc/openldap
Um diese Datei in die Konfiguration einzubinden ist mit einem Editor der Wahl die Datei /etc/openldap/slapd.conf anzupassen -> einfügen der fetten Zeile
# Access control policy
access to attr=userPassword
by dn="cn=ldapadmin,dc=lan,dc=home" write
by self write
by * auth
include /etc/openldap/acl_addressbook.conf
access to *
by dn="cn=ldapadmin,dc=lan,dc=home" write
by * read
Danach den LDAP-Server über das Service-Menü neu starten.
Einbindung des Adressbuches in ein E-Mail-Programm (Bsp. Mozilla Thunderbird)
Hier sei auf das folgende externe Howto verwiesen:
http://www.pro-linux.de/t_office/openldap-adressbuch.html
Folgende Anmerkung noch dazu:
Basis-DN ist immer: ou=contacts,ou=addressbook,dc=lan,dc=home
Bind-DN ist z.B.: uid=ldapuser1,ou=accounts,ou=addressbook,dc=lan,dc=home
Auch hier müssen wiederum die Werte bei dc= angepasst werden.
Einbindung des Adressbuches in eisfair-Webmail
Ausschnitt aus der Webmailkonfiguration:
WEBMAIL_1_GLOBADDR_LDAP_N='1' # number of ldap addressbooks
WEBMAIL_1_GLOBADDR_LDAP_1_ACTIVE='yes' # activate ldap addressbook: yes or no
WEBMAIL_1_GLOBADDR_LDAP_1_INFO='My LDAP directory'
# description of ldap addressbook
WEBMAIL_1_GLOBADDR_LDAP_1_HOST='localhost'
# hostname of ldap server
WEBMAIL_1_GLOBADDR_LDAP_1_BASEDN='ou=contacts,ou=addressbook,dc=lan,dc=home'
# base-dn of ldap addressbook
WEBMAIL_1_GLOBADDR_LDAP_1_AUTH='no' # require authentication: yes or no
WEBMAIL_1_GLOBADDR_LDAP_1_BINDDN='cn=ldapadmin,dc=lan,dc=home'
# bind-dn for ldap authentication
WEBMAIL_1_GLOBADDR_LDAP_1_BINDPASS='my-secret'
# bind-password for ldap
# authentication