Sie befinden sich hier: Home | eisfair /eisxen | LDAP-Adressbuch

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:

    1. First Base Name [lan]:
    2. Second Base Name [home]:
    3. Administrator Name [ldapadmin]:
    4. Enter new password:
    5. 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.

Muster-Struktur zum Download

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