Blog notes Aternatik

Contact

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

Actualités / Nouveautés

Asterisk et vserver

Installer Asterisk dans un vserver (server virtuel) offre beaucoup d’avantage (sécurité, indépendance dans la configuration, etc…) mais (...)

Lire la suite - 8 août

Vérifier un numéro de téléphone en PHP

Cette fonction permet de vérifier un numéro de téléphone que ce soit un numéro de téléphone fixe (0…) ou un numéro gsm (06…) Le (...)

Lire la suite - 1er juin

Remplacer des mots dans une arborescence

Des chemins en dur dans des centaines de fichiers identiques ? (ici des .htaccess) Voila un script surement utile… #!/bin/bash # Usage : (...)

Lire la suite - 10 mai

Supprimer dernier caractère d’une chaine

Juste pour mémoire ! echo "truc" | sed 's/.\1\$//g'

Lire la suite - 17 avril

Variables de configuration SAMBA

Liste des variables qui peuvent être utilisées dans le fichier /etc/samba/smb.conf pour paramétrer un serveur de fichier SAMBA : %u. Nom (...)

Lire la suite - 26 mars

LDAP

Installation d’un serveur d’annuaire OpenLDAP

Publié le 2 juillet 2007 - Tags : - (3870 visites)

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

- http://www-sop.inria.fr/semir/personnel/Laurent.Mirtain/ldap-livre.html
- http://home.subnet.at/ max/ldap/#install-openldap
- http://moduli.net/pages/sarge-ldap-auth-howto

Commentaires

Il y a 0 messages.



http://www.wikio.fr netvibes Google SPIP Suivre la vie du site RSS 2.0 Création de sites internet : Aternatik phpMyVisites

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