Blog notes Aternatik

Contact
Accueil du site > Articles et ressources > LDAP > Installation d’un serveur d’annuaire OpenLDAP

Installation d’un serveur d’annuaire OpenLDAP

Cet article présente l’installation d’un serveur d’annuaire grâce à OpenLD AP. La distribution sur laquelle sera installée OpenLdap est Debian Etch. Un outils d’administration est aussi installé : phpldapadmin.

Installation

Les paquets nécessaires doivent être installés :

apt-get install slapd ldap-utils

Répondre aux différentes questions :

  • Entrer le nom de domaine dns (test.lan). Dans ldap, il sera modifié en dc=test,dc=lan ce qui est le baseDN
  • Entrer le nom d’organisation (Test Cie)
  • Maintenant il faut définir un administrateur LDAP qui aura accès à tous les arbres de l’annnuaire. le dn : cn=admin,dc=test,dc=lan
  • LDAPv2 ne devrait plus être utilisé, laisser le choix par défaut à NON

Arréter le serveur et sauvegarder le fichier de conf ;

/etc/init.d/slapd stop            
cd /etc/ldap/
cp slapd.conf slapd.conf_DEB-orig

Fichier /etc/ldap/slapd.conf

Config de base

# Les schémas de l'annuaire
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /etc/ldap/schema/misc.schema


schemacheck     on
pidfile         /home/slapd/slapd.pid
argsfile        /home/slapd/slapd.args

password-hash   {CRYPT}
replogfile      /var/lib/ldap/replog
loglevel        256

database        bdb

suffix          "dc=test,dc=lan"
directory       "/var/lib/ldap"


# créer un mot de passe avec la commande "/usr/sbin/slappasswd -h {CRYPT}"
rootpw          {CRYPT}MnRG3gok61DS6 # = 123456
directory       "/var/lib/ldap"
index             objectClass eq
lastmod         on

access to attribute=userPassword
       by dn="cn=admin,dc=test,dc=lan" write
       by anonymous auth
       by * none
                                                                                                 
access to *
       by dn="cn=admin,dc=test,dc=lan" write
       by * auth

Les ACL : dans la première, seul le "manager" peut modifier l’attribut userPassword ; les utilisateurs anonymes doivent s’identifier ; les autres n’ont aucun accès.

La deuxième donne les pleins pouvoir au "manager" et oblige tout utilisateur à s’authentifier.

Insertion de données dans l’annuaire : le format ldif

OpenLDAP utilise des fichiers aux formats ldif (LDAP Data Interchange Format) pour insérer des données. Sans parler des schémas, aperçu d’un fichier ldif et insertion dans la base LDAP. A noter qu’à l’installation sur Debian Etch, je n’ai pas eu à importer ces données. La base est créee avec les paramètres lors de l’installation.

############### base.ldif

dn: dc=test,dc=lan
objectClass: top
objectClass: dcObject
objectClass: organization
o: test.lan
dc: test

dn: ou=Users,dc=test,dc=lan
objectClass: top
objectclass: organizationalUnit
ou: Users

dn: cn=admin,dc=test,dc=lan
objectClass: top
objectClass: organizationalRole
cn: admin

La commande pour insérer les données dans l’annuaire :

ldapadd -c -x -h localhost -D "cn=admin,dc=test,dc=lan" -W -f base.ldif
  • -c permet de continuer s’il y a des erreurs (enregistrement déjà présent dans l’annuaire).
  • -x pas d’authentification SASL.
  • -D indique le DN du compte qui se connecte.
  • -W fera que ldapadd demandera le mot de passe de admin.
  • -f indiquera le nom du fichier LDIF

Démarrer le service

On démarre avec l’utilisateur slapd :

# /etc/init.d/slapd start

La base est normalement crée.

Installation de phpldapadmin

C’est un outil du style phpmyadmin qui gère un annuaire LDAP. Il nécessite apache pour fonctionner, voyons son installation.

Tout d’abord, installer les paquets nécessaires :

#apt-get install phpldapadmin libapache2-mod-php5 libapache-mod-ldap php5 db4.2-util

Répondre aux questions de debconf et pointer sur http://localhost/phpldapamin. Par défaut, un alias est crée pour apache. Mais on voudrait accéder à l’application sur ldap.test.lan. Le DNS est déjà configuré, au tour d’Apache !

Dans la config Apache, supprimer le site par defaut (localhost) ainsi que l’alias défini à l’installation de phpldapadmin. Il faut re-définir un hôte virtuel ldap.test.lan qui pointe sur le dossier de phpldapadmin ( /usr/share/phpldapadmin/htdocs). Le fichier fourni par phpldapadmin contient des exemples de configurations, il servira de modèle.

ldap:/etc/apache2# cp conf.d/phpldapadmin sites-available/
ldap:/etc/apache2# vi sites-available/phpldapadmin

Notifier à Apache les nouvelles directives et redémarrer le service pour les prendre en compte.

ldap:/etc/apache2#a2ensite phpldapadmin
ldap:/etc/apache2# /etc/init.d/apache2 restart
Forcing reload of web server (apache2)....

Tester sur http://ldap.test.lan

Phpldapadmin

Tout fonctionne, supprimer les fichiers inutiles :

ldap:/etc/apache2# rm sites-enabled/000-default
ldap:/etc/apache2# rm conf.d/phpldapadmin

L’annuaire LDAP est maintenant fonctionnel et administrable.

Des liens

Répondre à cet article

http://www.wikio.fr netvibes Google SPIP Suivre la vie du site RSS 2.0

Aternatik - tél : 04.86.57.31.22 | SIRET 484 907 530 00030 - NAF 6201Z
plan du site |  RSS 2.0 Suivre la vie du site SPIP
Création de sites et solutions internet

Creative Commons License
Le contenu du site est mis à disposition sous un contrat Creative Commons.