Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
slapd [Le 16/06/2009, 17:54] – NikkoBuntu | slapd [Le 19/12/2017, 13:30] (Version actuelle) – Petit nettoyage L'Africain | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ------ | ||
+ | ====== Un serveur d' | ||
+ | |||
+ | Ce document est la traduction du HowTo présenté à l' | ||
+ | |||
+ | LDAP signifie Lightweight Directory Access Protocol, c'est une version simplifiée du protocole X500. Vous pourrez trouver une présentation détaillée sur [[wpfr> | ||
+ | |||
+ | Pour expliquer rapidement, toutes les informations sont stockées dans un arbre. Vous devez déterminer l' | ||
+ | Nous allons commencer ici avec un exemple simple contenant seulement 2 nœuds en plus de la racine : | ||
+ | * Le nœud " | ||
+ | * Le nœud " | ||
+ | |||
+ | Vous devez commencer par déterminer ce que sera la racine de votre LDAP. Par défaut, votre arbre peut être déterminé à partir de votre domaine Internet. Si votre domaine est exemple.com , votre racine sera dc=exemple, | ||
+ | |||
+ | |||
+ | <note important> | ||
+ | Dans le cas contraire, il risque d'y avoir une contradiction entre le nom choisi à l' | ||
+ | |||
+ | |||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Avant tout, installons le daemon du serveur ldap (slapd) sur le serveur. Pour cela, il suffit d' | ||
+ | |||
+ | On vous demandera votre mot de passe administrateur et votre nom de domaine. Renseignez-les. Parfois on ne vous demandera que le mot de passe et on ne vous demandera rien concernant le nom de domaine car l' | ||
+ | < | ||
+ | sudo dpkg-reconfigure slapd | ||
+ | </ | ||
+ | |||
+ | Voici brièvement les réponses attendues pour une installation standard : | ||
+ | < | ||
+ | 1.Passer la configuration d' | ||
+ | 2.Nom de domaine ? example.com | ||
+ | 3.Nom de votre société ? masociété | ||
+ | 4.Quelle base de donnée ? hdb | ||
+ | 5.Voulez-vous que la base de donnée soit effacée lorsque slapd est purgé ? oui | ||
+ | 6.Supprimer les anciennes bases de données ? oui | ||
+ | 7.Mot de passe administrateur ? VotreMotDePasse | ||
+ | 8.Confirmer ce mot de passe ? VotreMotDePasse | ||
+ | 9.Authoriser le protocol LDAPv2 ? non | ||
+ | </ | ||
+ | |||
+ | Mais seulement quelques changements seront effectués sur la configuration par défaut. Tout le reste va se jouer dans le fichier **/ | ||
+ | |||
+ | |||
+ | Nous allons commencer par enregistrer le mot de passe administrateur (de LDAP) dans le fichier de configuration en éditant ce fichier. Ce serait une folie de vouloir enregistrer votre mot de passe en clair donc nous allons générer votre mot de passe en chiffré avec la commande : | ||
+ | < | ||
+ | sudo slappasswd | ||
+ | </ | ||
+ | |||
+ | On obtient quelque chose dans ce genre : | ||
+ | < | ||
+ | New password: | ||
+ | Re-enter password: | ||
+ | {SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m | ||
+ | </ | ||
+ | |||
+ | Cet exemple montre la définition de votre mot de passe en utilisant le mot de passe " | ||
+ | |||
+ | |||
+ | [[: | ||
+ | / | ||
+ | |||
+ | |||
+ | S'il n'est pas déjà présent, [[: | ||
+ | On renseigne alors les informations suivantes : | ||
+ | < | ||
+ | ldap_version 3 | ||
+ | URI ldap:// | ||
+ | SIZELIMIT 0 | ||
+ | TIMELIMIT 0 | ||
+ | DEREF never | ||
+ | BASE dc=example, dc=com | ||
+ | </ | ||
+ | |||
+ | Toutes les informations relatives à **slapd.d** (dossier remplaçant slapd.conf) sont maintenant inscrites au moment où on lance la commande // | ||
+ | |||
+ | ===== Remplir LDAP ===== | ||
+ | |||
+ | L' annuaire a été créé lors de l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | < | ||
+ | # fichier de données : ~/init.ldif | ||
+ | dn: dc=example, | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | dc: example | ||
+ | ou: Example Dot Com | ||
+ | |||
+ | dn: ou=people, | ||
+ | objectClass: | ||
+ | ou: people | ||
+ | |||
+ | dn: ou=groups, | ||
+ | objectClass: | ||
+ | ou: groups | ||
+ | |||
+ | dn: uid=lionel, | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | uid: lionel | ||
+ | sn: Porcheron | ||
+ | givenName: Lionel | ||
+ | cn: Lionel Porcheron | ||
+ | displayName: | ||
+ | uidNumber: 1000 | ||
+ | gidNumber: 10000 | ||
+ | gecos: Lionel Porcheron | ||
+ | loginShell: /bin/bash | ||
+ | homeDirectory: | ||
+ | shadowExpire: | ||
+ | shadowFlag: 0 | ||
+ | shadowWarning: | ||
+ | shadowMin: 8 | ||
+ | shadowMax: 999999 | ||
+ | shadowLastChange: | ||
+ | mail: lionel.porcheron@example.com | ||
+ | postalCode: 31000 | ||
+ | l: Toulouse | ||
+ | o: Example | ||
+ | mobile: +33 (0)6 xx xx xx xx | ||
+ | homePhone: +33 (0)5 xx xx xx xx | ||
+ | title: System Administrator | ||
+ | postalAddress: | ||
+ | initials: LP | ||
+ | |||
+ | dn: cn=example, | ||
+ | objectClass: | ||
+ | cn: example | ||
+ | gidNumber: 10000 | ||
+ | displayName: | ||
+ | </ | ||
+ | |||
+ | Dans l' | ||
+ | |||
+ | Maintenant ajoutez vos entrées à LDAP : | ||
+ | * Arrêtez le daemon : | ||
+ | < | ||
+ | sudo / | ||
+ | </ | ||
+ | |||
+ | * Supprimer ce qui a été ajouté automatiquement à l' | ||
+ | < | ||
+ | sudo rm -rf / | ||
+ | </ | ||
+ | |||
+ | Ajouter les données : | ||
+ | < | ||
+ | sudo slapadd -l ~/init.ldif | ||
+ | </ | ||
+ | <note tip>Si vous rencontrez le message type : | ||
+ | < | ||
+ | Entry (cn=example, | ||
+ | slapadd: dn=" | ||
+ | </ | ||
+ | Il faut commenter la ligne 46 comme ceci : | ||
+ | < | ||
+ | # | ||
+ | </ | ||
+ | Puis refaire : | ||
+ | < | ||
+ | sudo rm -rf / | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Donner les droits de lecture aux fichiers de la base de données | ||
+ | < | ||
+ | sudo chown -R openldap: | ||
+ | </ | ||
+ | |||
+ | N' | ||
+ | < | ||
+ | sudo / | ||
+ | </ | ||
+ | |||
+ | Nous allons pouvoir vérifier que les données ont été correctement ajoutées avec les outils du paquet '' | ||
+ | |||
+ | < | ||
+ | ldapsearch -xLLL -b " | ||
+ | dn: uid=lionel, | ||
+ | cn: Lionel Porcheron | ||
+ | sn: Porcheron | ||
+ | givenName: Lionel | ||
+ | </ | ||
+ | |||
+ | Une rapide explication : | ||
+ | * -x désactive l' | ||
+ | * -LLL empêche l' | ||
+ | * -b indique la branche utilisée | ||
+ | |||
+ | NE PAS OUBLIER d' | ||
+ | |||
+ | ===== Utiliser votre serveur LDAP ===== | ||
+ | |||
+ | Maintenant que votre serveur est prêt et démarré vous pouvez : | ||
+ | * Authentifier vos utilisateurs dans l' | ||
+ | * Authentifier vos utilisateurs via une applications web | ||
+ | * Utiliser l' | ||
+ | * Et bien plus encore !!! | ||
+ | |||
+ | De manière plus concrète, il existe des solutions simples à installer et qui vous permettent un excellent accès à votre annuaire, que ce soit en visualisation comme en création/ | ||
+ | |||
+ | === phpLDAPadmin === | ||
+ | |||
+ | == Pré-requis == | ||
+ | |||
+ | * Avoir un serveur WEB installé, voir [[LAMP]]. | ||
+ | * La version 12.04 LTS d' | ||
+ | |||
+ | == Installation == | ||
+ | |||
+ | Vous devez [[: | ||
+ | |||
+ | Et on y accède via [[http:// | ||
+ | |||
+ | Attention, le login est : " | ||
+ | |||
+ | == Problème : Memory Limit low == | ||
+ | |||
+ | Si lorsque vous allez sur l' | ||
+ | |||
+ | Memory Limit low. | ||
+ | Your php memory limit is low - currently 16M | ||
+ | |||
+ | Éditer en admin le fichiers php.ini : | ||
+ | < | ||
+ | cd / | ||
+ | sudo nano php.ini | ||
+ | </ | ||
+ | trouvez la section suivante et changez la valeur memory_limit = 16M en mettant 50M : | ||
+ | < | ||
+ | ;;;;;;;;;;;;;;;;;;; | ||
+ | ; Resource Limits ; | ||
+ | ;;;;;;;;;;;;;;;;;;; | ||
+ | |||
+ | | ||
+ | | ||
+ | ; | ||
+ | | ||
+ | </ | ||
+ | Il suffit ensuite de recharger la configuration de apache pour que la modification soit prise en compte : | ||
+ | < | ||
+ | |||
+ | puis relancer votre serveur ldap : | ||
+ | < | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ===== Réplication des données LDAP ===== | ||
+ | |||
+ | Le service LDAP peut vite devenir un service hautement critique dans votre système d' | ||
+ | |||
+ | * Authentification | ||
+ | * Autorisation | ||
+ | |||
+ | * ... | ||
+ | |||
+ | Ce serait donc une bonne idée de créer un système redondant. Le mini HOWTO ci-dessous vous permettra de le faire. | ||
+ | |||
+ | === Introduction === | ||
+ | Avec OpenLDAP 2.2 (sur Breezy et Dapper), la réplication est basée sur une communication maître-esclave. | ||
+ | |||
+ | __**ATTENTION **__ | ||
+ | |||
+ | Vous devez vous rappeler que les modifications devraient toujours être faites sur le maître ! Si vous modifiez un esclave, les modifications seront perdues dès la synchronisation suivante :/ | ||
+ | |||
+ | === Le maître === | ||
+ | |||
+ | Sur le maître, vous devez modifier la section "base de donnée" | ||
+ | L' | ||
+ | Le fichier de log est l' | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | < | ||
+ | replica uri=ldap:// | ||
+ | credentials=secret | ||
+ | |||
+ | replogfile | ||
+ | </ | ||
+ | |||
+ | Il ne reste plus qu'a redémarrer votre serveur LDAP :) | ||
+ | |||
+ | |||
+ | === Le(s) Esclave(s) === | ||
+ | |||
+ | Sur le(s) serveur(s) esclave(s) , il vous suffit d' | ||
+ | |||
+ | < | ||
+ | updatedn | ||
+ | updateref | ||
+ | </ | ||
+ | |||
+ | Redémarrez votre serveur LDAP (l' | ||
+ | |||
+ | |||
+ | |||
+ | ===== Liens ===== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ------------ | ||
+ | |||
+ | Contributeurs : |