
Asterisk et vserverInstaller 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 PHPCette 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 arborescenceDes 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 chaineJuste pour mémoire ! echo "truc" | sed 's/.\1\$//g'
Lire la suite - 17 avril
Variables de configuration SAMBAListe 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 OpenLDAPPublié le 2 juillet 2007 - Tags : Serveur Debian Ldap - (3470 visites)
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
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

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.
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
CommentairesIl y a 0 messages.

