Benutzer:Konradn/ Firmen-Server mit Debian/ LDAP
Voraussetzungen
[Bearbeiten]- Feste IP Adresse auf einer Netzwerkarte. (Dies ist nicht zwingend notwendig ist aber in meinen Augen sehr sinnvoll!)
Benötigte Pakete
[Bearbeiten]- slapd
- ldap-utils
- phpldapadmin (Optional, Webfrontend zur Verwaltung der ldap Einträge, installiert auch Apache)
Meine Konfiguration
[Bearbeiten]- IP des Servers ist 10.100.0.1
- Base ist dc=neitzel,dc=local
- DNS domain name: neitzel.local
- Organisation: Neitzels Wikibook
- Datenbank Backend: HDB
- LDAPv2 ist deaktiviert.
LDAP Konfiguration
[Bearbeiten]Während der Installation werden wir aufgefordert, das LDAP Administrator Passwort festzulegen.
Nach der Installation editieren wir zuerst /etc/ldap/ldap.conf und setzen dort die BASE und URI: BASE dc=neitzel,dc=local URI ldap://10.100.0.1
Der Rest der Datei kann so bleiben wie er ist.
Der nächste Konfigurationsschritt wird mitteld dpkg-reconfigure ausgeführt:
- dpkg-reconfigure slapd
Als erstes werden wir gefragt, ob die OpenLDAP server configuration ausgelassen werden soll. Da wir ja den OpenLDAP server konfigurieren wollen, antworten wir mit „No“.
Der „DNS domain name“ wird als nächstes abgefragt. Hier kommt wieder unser neitzel.local zum tragen.
Bei der nächsten Abfrage werden wir nach dem Namen unserer Organisation gefragt. Da ich hier nur am testen bin, habe ich einmal „Neitzels Wikibook“ eingegeben.
Erneut wird nach dem einzurichtenden Admin-Passwort gefragt.
Bei der Wahl des Datenbank-Backends ist HDB die bessere option.
Bei der Frage, ob die Datenbank gelöscht werden soll, wenn slapd entfernt wird, ist „No“ die sichere Variante. So bleiben die Daten erhalten wenn wir das Paket versehentlich deinstallieren.
Beim Erstellen der Datenbank kann die alte Datenbank verschoben werden. (Bei mehreren Durchgängen führt dies aber leicht zu einem Fehler, da das Verschieben scheitert wenn ein Backup schon vorhanden ist. Ind em Fall ist das Backup zu löschen und die KOnfiguration kann erneut aufgerufen werden.)
LDAPv2 sollten wir erst einmal nicht erlauben. Es sei denn, Sie haben eine entsprechende Anforderung. (Für die Schritte hier im Buch wird dies nicht benötigt!)
Nun sollte das System neu konfiguriert und im Anschluss gestartet werden.
Zum Testen der Konfiguration ist ein Aufruf von ldapsearch -x geeignet:
- root@dc:/etc/ldap# ldapsearch -x
# extended LDIF
#
# LDAPv3
# base <dc=neitzel,dc=local> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# neitzel.local
dn: dc=neitzel,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization
o: Neitzels Wikibook
dc: neitzel
# admin, neitzel.local
dn: cn=admin,dc=neitzel,dc=local
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2
root@dc:/etc/ldap#
LDAP Administration
[Bearbeiten]Die Administration eines LDAP Servers nur über Kommandozeilen-Tools ist nicht gerade trivial. Daher rate ich zur Verwendung von geeigneten Tools. Wir richten an dieser Stelle phpldapadmin ein.
In diesem Schritt wird als Abhängigkeit auch der Webserver Apache mit installiert. Die Konfiguration des Webservers werden wir hier aber nur minimal angehen.
Nach der Installation legen wir nur ein einfachen Symlink an, so dass phpldapadmin im root des Webservers zu finden ist:
- ln -s /usr/share/phpldapadmin /var/www/phpldapadmin
Nun müssen wir den LDAP Server, den phpldapadmin nutzen soll, konfigurieren. Dazu editieren wir die Datei /etc/phpldapadmin/config.php und verändern fast ganz am Ende den Bereich, in dem der Server definiert wird:
$servers->newServer('ldap_pla');
$servers->setValue('server','name','Neitzel LDAP Server');
$servers->setValue('server','host','10.100.0.1');
$servers->setValue('server','port',389);
$servers->setValue('server','base',array('dc=neitzel,dc=local'));
$servers->setValue('login','auth_type','cookie');
$servers->setValue('login','bind_id','cn=admin,dc=neitzel,dc=local');
$servers->setValue('login','bind_pass','');
$servers->setValue('server','tls',false);
Nun sollten wir in einem Webbrowser das Frontend aufrufen können über die URL http://10.100.0.1/phpldapadmin
Die Anmeldung erfolgt über das vergebene Admin-Passwort.
Referenzen
[Bearbeiten]