OpenLDAP Installation und Konfiguration in Ubuntu 12.10 Server / Debian 6

23.05.2015

Über OpenLDAP

OpenLDAP ist ein kostenloses Open-Source-Light Weight Directory Access-Protokoll entwickelt durch das OpenLDAP-Projekt . Es ist ein plattformunabhängiges Protokoll, so dass es auf allen Linux / Unix-ähnliche Systeme, Windows, AIX, Solaris und Android läuft.

OpenLDAP beinhaltet:

  • slapd - Stand-alone-LDAP Daemon (Server)
  • Bibliotheken der Umsetzung des LDAP-Protokolls, und
  • Utilities, Tools und Beispiel-Clients.

 

In diesem Tutorial wollen wir sehen, wie die Installation und Konfiguration von OpenLDAP in Ubuntu / Debian-Server abläuft. Wegen des Mangels an Ressourcen und Zeit, wurde dieses How-to nur in Ubuntu 15.04 getestet. Allerdings sollten die folgenden Schritte auf Debian 8.7 und früheren Versionen von Ubuntu, Ubuntu zu arbeiten, einschließlich 14,10 / 14,04 / 13,10 / 13,04 / 12,10 etc. Wenn Sie während der Installation von OpenLDAP in anderen Distributionen, können Sie lassen Sie mich wissen irgendwelche Probleme, Ich werde prüfen und aktualisieren diese wie-ASAP.

Nun, lassen Sie uns einrichten LDAP-Server beginnen.

Hier Details meines LDAP-Server:

Operating System : Ubuntu 15.04
Hostname         : server.linuxuser.local
IP Address       : 192.168.1.195

Ersetzen Sie die oben genannten Werte mit Ihren eigenen.

 

Installation und Konfiguration von OpenLDAP

 

Zunächst lassen Sie uns sehen, wie man OpenLDAP in DEB basierten Systemen installiert

1. Installieren Sie OpenLDAP

Geben Sie folgenden Befehl im Terminal zu OpenLDAP installieren.

Wechseln Sie zu Root-Benutzer:

sudo su

Oder

su

Führen Sie den folgenden Befehl aus, um OpenLDAP installieren.

apt-get install slapd ldap-utils

Während der Installation werden Sie aufgefordert, das Kennwort für den LDAP-Admin-Konto eingerichtet werden.Geben Sie hier Ihr Admin-Passwort und bestätigen es im nächsten Schritt.

ldap2_ldap-utils_install

OpenLDAP ist nun installiert. Lassen Sie uns zur Konfiguration übergehen.

 

2. Konfigurieren Sie OpenLDAP

Bearbeiten "/etc/ldap/ldap.conf" Datei,

vi /etc/ldap/ldap.conf

Finden, entfernen und ersetzen “BASE” und “URI-Werte mit Ihren Domain-Namen und IP-Adresse wie unten dargestellt.

#

LDAP Defaults

See ldap.conf(5) for details

This file should be world readable but not world writable.

BASE    dc=linuxuser,dc=local
URI     ldap://192.168.1.195
#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

TLS certificates (needed for GnuTLS)

TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

Speichern und schließen Sie die Datei.

Als nächstes sollten wir die slapd mit den aktualisierten Werten neu zu konfigurieren.

dpkg-reconfigure slapd

  • OpenLDAP Server Konfiguration auslassen? Wählen Sie “Nein” und drücken Sie die Eingabetaste.
  • Geben Sie den DNS-Domänennamen an. Z.B. linuxuser.local
  • Geben Sie den Name der Organisation (also den Namen Ihres Unternehmens). Z.B. linuxuser
  • Geben Sie den LDAP-Admin-Passwort, das Sie im vorherigen Schritt erstellt haben.
  • Geben Sie das Kennwort ein. LDAP-Admin Passwort vergeben
  • Wählen Sie das Datenbank-Backend. Ich wähle die Standardeinstellungen HDB.
  • Wählen Sie, ob Sie die Datenbank automatisch gelöscht wird oder behalten Sie sie bis slapd entfernt ist.Hier möchte ich meine alten Datenbank behalten, daher klicke ich Nein .
  • Wählen Sie Ja, um alte Datenbank zu verschieben. Hier Ja
  • LDAPv2-Protokoll erlauben? Wählen Sie Nein, und drücken Sie Enter.

Das war’s. Wir haben erfolgreich OpenLDAP konfiguriert. Lassen weitermachen und prüfen Sie, ob es funktioniert hat oder nicht.

 

Test LDAP Server

Führen Sie den folgenden Befehl ein, um OpenLDAP zu testen:

ldapsearch -x

Beispielausgabe:

# extended LDIF

# LDAPv3

base <dc=linuxuser,dc=local> (default) with scope subtree

filter: (objectclass=*)

requesting: ALL

linuxuser.local

dn: dc=linuxuser,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization
o: linuxuser
dc: linuxuser

admin, linuxuser.local

dn: cn=admin,dc=linuxuser,dc=local
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin description: LDAP administrator

search result

search: 2 ** result: 0 Success**

numResponses: 3

numEntries: 2

Wenn Sie den “Erfolg” Nachricht in Ihrer Ausgabe zu sehen, dann Herzlichen Glückwunsch! LDAP-Server funktioniert !!

LDAP Server Administration

Verwaltung von LDAP-Server im Befehlsmodus ist etwas schwierig und umständlich.

Da wir uns nicht an alle LDAP-Befehle erinnern können,  werden wir einen einfaches GUI-Tool namens “phpldapadmin” zur Konfiguration und Verwaltung von LDAP-Server verwenden.

Installieren phpLDAPadmin

phpLDAPadmin ist eine web-basierte LDAP Administrationstool zur Verwaltung von LDAP-Server.

Durch die Verwendung von phpLDAPadmin, können Sie Ihre LDAP-Struktur durchsuchen, LDAP-Schema anzeigen, Suchanfragen durchführen, erstellen, löschen, kopieren und LDAP Einträge bearbeiten.

Sie können sogar Einträge zwischen Servern kopieren.

Geben Sie den folgenden Befehl, um phpldapadmin zu installieren:

apt-get install phpldapadmin

Erstellen Sie einen symbolischen Link für phpldapadmin Verzeichnis.

ln -s /usr/share/phpldapadmin/ /var/www/html/phpldapadmin

Auf Ubuntu 14.10 und niedrigeren Versionen ausführen:

ln -s /usr/share/phpldapadmin/ /var/www/phpldapadmin

Bearbeiten der "/etc/phpldapadmin/config.php” Datei,

vi /etc/phpldapadmin/config.php

Stellen Sie die korrekte Zeitzone ein. Um das zu tun, zu finden und kommentieren Sie die folgende Zeile um und stellen Sie so Ihre Zeitzone ein.

[…]
$config->custom->appearance[‘timezone’] = ‘Europe/Berlin’;
[…]

Blättern Sie nach unten weiter und ersetzen Sie den Domain-Namen mit Ihren eigenen Werten.

Um dies zu erreichen, finden Sie unter “Define your LDAP servers in this section”

Abschnitt in der Konfigurationsdatei und bearbeiten Sie die folgenden Zeilen um, wie unten dargestellt.

$servers = new Datastore();
$servers->newServer(‘ldap_pla’); $servers->setValue(‘server’,‘name’,‘linuxuser LDAP Server’);
$servers->setValue(‘server’,‘host’,‘192.168.1.195’);
$servers->setValue(‘server’,‘base’,array(‘dc=linuxuser,dc=local’));
$servers->setValue(‘login’,‘bind_id’,‘cn=admin,dc=linuxuser,dc=local’);
[…]

Starten Sie den Apache-Dienst.

systemctl restart apache2

Auf Ubuntu 14.10 und älteren Versionen laufen:

service apache2 restart

Stellen Sie sicher, dass Sie Apache-Server-Port **“80”**geöffnet haben  und die LDAP-Standard-Port “389” in der Firewall / Router-Konfiguration steht.

ufw allow 80

Beispielausgabe:

Rules updated
Rules updated (v6)

ufw allow 389

Beispielausgabe:

Regeln aktualisiert
Regeln aktualisiert (v6)

Die oben genannten Schritte sind für Debian -Systeme nicht notwendig.

Test phpLDAPadmin

Öffnen Sie Ihren Webbrowser und navigieren Sie zu: “http://192.168.1.195/phpldapadmin” .

Der folgende Bildschirm sollte angezeigt werden.

openldap-1

 

Klicken Sie auf “Login” auf der linken Seite. Geben Sie den LDAP-Admin-Passwort, das Sie während der Installation OpenLDAP erstellt haben, und klicken Sie auf  “Authenticate”.

openldap-2

 

Nun wird der Hauptkonsolen Bildschirm phpldapadmin geöffnet.

Sie können die LDAP-Domain sehen “linuxuser.local” sowie andere Details auf der linken Seite.

openldap-3

Von hier aus können Sie weitere Objekte, wie zB Organisationseinheit Benutzer und Gruppen hinzufügen usw.

Erstellen von Objekten

 

1. Erstellen der Organisationseinheit (OU):

Können einige Beispiel-Objekte aus der phpldapadmin Konsole erstellen. Zunächst werden wir eine Organisationseinheit zu erstellen.

Klicken Sie auf das "+" Zeichen in der Nähe der Zeile “dc = linuxuser” und klicken Sie auf den “Neuen Eintrag erzeugen” Link.

openldap-4

Blättern Sie nach unten und wählen “Allgemein: Organisationseinheit”.

openldap-5

Dateien hinzufügen

Geben Sie den Namen der Organisationseinheit (Ex.sales) und klicken Sie “Create Object” .

openldap-6

Klicken Sie abschließend auf “Erzeuge einen neuen Eintrag” .

openldap-7

Sie können nun die neu erstellte OU im Haupt LDAP Abschnitt auf der linken Seite finden.

openldap-8

2. Erstellen Sie Gruppen:

Klicken Sie auf das sales OU auf der linken Seite und danach auf “Create a child entry” Link.

openldap-9

Im nächsten Fenster wählen Sie “Generic: Posix Group” .

openldap-10

Geben Sie den Namen der Gruppe ein und klicken Sie auf  Create Object.

Zum Beispiel,gebe ich hier den Namen der Gruppe als “sales-Gruppe” ein.

openldap-11

Klicken Sie auf Erzeuge einen neuen Eintrag, um die Änderungen zu speichern.

openldap-12

Jetzt können Sie sehen, dass die neu erstellte Gruppe namens “sales-group” unter den sales OU.

openldap-13

3. Erstellen Sie Benutzer:

Lassen Sie uns nun einen neuen Benutzer unter sales-group erstellen.

Klicken Sie auf sales-group auf der linken Seite.

openldap-13

Wählen Sie  Create a child entry.

openldap-14

Im nächsten Fenster wählen Sie “Allgemein: Benutzerkonto” .

openldap-15

Geben Sie die Benutzerdaten, wie beispielsweise Vorname, GID-Nummer, Name, Login-Shell, Benutzerpasswort und Benutzer-ID usw.,

wie in der folgenden Bildschirm dargestellt ist und klicken Sie auf Erzeuge einen neuen Eintrag.

Zum Beispiel werden dadurch hier ein Benutzer namens “piuser” erstellet.

openldap-16

Und klicken Sie auf “Erzeuge einen neuen Eintrag”, um die Änderungen zu speichern.

openldap-17

Nun wird der neu erstellten Benutzer “piuser” nun auch unter der “sales-Gruppe” Objekt gefunden..

openldap-18

Darüber hinaus können Sie überprüfen, ob die neu erstellte Objekte auch wirklich mit den Commands existieren

ldapsearch -x

Beispielausgabe:

# extended LDIF

LDAPv3

base <dc=linuxuser,dc=local> (default) with scope subtree

filter: (objectclass=*)

requesting: ALL

linuxuser.local

dn: dc=linuxuser,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization o: linuxuser
dc: linuxuser

admin, linuxuser.local

dn: cn=admin,dc=linuxuser,dc=local
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

sales, linuxuser.local

dn: ou=sales,dc=linuxuser,dc=local
objectClass: organizationalUnit
objectClass: top ou: sales

sales-group, sales, linuxuser.local

dn: cn=sales-group,ou=sales,dc=linuxuser,dc=local
gidNumber: 500
cn: sales-group
objectClass: posixGroup
objectClass: top

piuser, sales-group, sales, linuxuser.local

dn: cn=piuser,cn=sales-group,ou=sales,dc=linuxuser,dc=local
cn:: sales-group gidNumber: 500
homeDirectory: /home/users/piuser
sn: piuser
loginShell: /bin/sh
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
uidNumber: 1000
uid: piuser

search result

search: 2
result: 0 Success

numResponses: 6

numEntries: 5

Sogar ungeübte Benutzer können innerhalb einer Stunde einfach einen Arbeits LDAP-Server aufsetzen. Jetzt ist der OpenLDAP Server betriebsbereit.