Modification de LDAP : Installation d'un serveur 389 DS

Attention : vous n’êtes pas connecté(e). Votre adresse IP sera visible de tout le monde si vous faites des modifications. Si vous vous connectez ou créez un compte, vos modifications seront attribuées à votre propre nom d’utilisateur(rice) et vous aurez d’autres avantages.

La modification peut être annulée. Veuillez vérifier les différences ci-dessous pour voir si c’est bien ce que vous voulez faire, puis publier ces changements pour finaliser l’annulation de cette modification.

Version actuelle Votre texte
Ligne 1 : Ligne 1 :
{{ArticleHead|Adadov}}
{{EnCours|auteur=Adadov}}
== Introduction ==
 
J'ai choisi de migrer mon serveur LDAP depuis OpenLDAP vers un serveur un peu plus récent et standard.
J'ai choisi de migrer mon serveur LDAP depuis OpenLDAP vers un serveur un peu plus récent et standard.
Pour ça j'ai choisi 389 DS, anciennement Fedora DS.
Pour ça j'ai choisi 389 DS, anciennement Fedora DS.
Ligne 11 : Ligne 13 :


Pour faire mes tests j'ai utilisé une Fedora 18 fraichement installé et j'ai installé le serveur depuis les RPM comme ceci
Pour faire mes tests j'ai utilisé une Fedora 18 fraichement installé et j'ai installé le serveur depuis les RPM comme ceci
{{LxTerm|text=sudo yum install 389-ds}}
{{LinuxTerminal|text=sudo yum install 389-ds}}


Puis on passe à la configuration, ils ont étés très sympa pour ça, il existe un utilitaire.
Puis on passe à la configuration, ils ont étés très sympa pour ça, il existe un utilitaire.
 
{{warn|Par contre la configuration de la console fonctionne, uniquement si on choisi l'option d'installation avancée (3)}}
J'ai choisi de ne pas implémenter la console et j'utiliserais Apache Directory Editor par la suite pour gérer les entrées de mon Annuaire.
{{warn|Si on installe avec l'option 3 les ACI ne sont pas implémentées par l'installation ...}}
 
Alors on utilise simplement setup-ds-admin.pl.
Alors on utilise simplement {{cmd|setup-ds.pl}}.
{{LinuxTerminal|text=sudo setup-ds-admin.pl}}
{{LxTerm|text=sudo setup-ds.pl}}


Le mieux est simplement, dans le cas d'une première installation, de laisser par défaut les options.
Le mieux est simplement, dans le cas d'une première installation, de laisser par défaut les options.
Ligne 27 : Ligne 28 :


Si vous avez déjà une version au format LDIF de vos extensions de schémas, alors là il n'y a presque rien à faire.
Si vous avez déjà une version au format LDIF de vos extensions de schémas, alors là il n'y a presque rien à faire.
Il vous suffit de placer les fichiers dans le dossier {{path|/etc/dirsrv/slapd-<nowiki>{instance}</nowiki>/schema/}}.<br />
Il vous suffit de placer les fichiers dans le dossier ''/etc/dirsrv/slapd-{instance}/schema/''.
Puis recharger dynamiquement le schéma de votre annuaire via  
Puis recharger dynamiquement le schéma de votre annuaire via  
{{cmd|/usr/lib64/dirsrv/slapd-<nowiki>{instance}</nowiki>/schema-reload.pl}}
/usr/lib64/dirsrv/slapd-{instance}/schema-reload.pl


== Migration depuis OpenLDAP ==
== Migration depuis OpenLDAP ==


Pour migrer les données il n'y a rien de plus simple, il vous suffit d'exporter les données via un simple ldapsearch.
Pour migrer les données il n'y a rien de plus simple, il vous suffit d'exporter les données via un simple ldapsearch.
{{LxTerm|text=ldapsearch -h oldldap.example.com -x -LLL > backup_ldap.ldif}}
{{LinuxTerminal|text=ldapsearch -h oldldap.example.com -x -LLL > backup_ldap.ldif}}


Ensuite on retire de ce fichier la première entrée, c'est celle qui concerne la base du serveur LDAP, vu que l'installation en a déjà créé une, il ne faut pas la recréer.
Ensuite on retire de ce fichier la première entrée, c'est celle qui concerne la base du serveur LDAP, vu que l'installation en a déjà créé une, il ne faut pas la recréer.


Si le nom a changé, un petit coup de sed fera l'affaire.
Si le nom a changé, un petit coup de sed fera l'affaire.
{{LxTerm|text=sed -i 's/dc=oldbase,dc=ext/dc=newbase,dc=ext/' backup_ldap.ldif}}
{{LinuxTerminal|text=sed -i 's/dc=oldbase,dc=ext/dc=newbase,dc=ext/' backup_ldap.ldif}}


Puis on importe les données dans notre nouveau LDAP.
Puis on importe les données dans notre nouveau LDAP.
{{LxTerm|text=ldapadd -D "cn=Directory Manager" -W -x -f backup_ldap.ldif -c}}
{{LinuxTerminal|text=ldapadd -D "cn=Directory Manager" -W -x -f backup_ldap.ldif -c}}


Si vous n'avez aucune erreur lors de l'import, vous voilà avec un nouveau LDAP tout neuf et complet.
Si vous n'avez aucune erreur lors de l'import, vous voilà avec un nouveau LDAP tout neuf et complet.
Ligne 51 : Ligne 52 :
Donc on va retirer l'accès anonyme et on forcera donc l'utilisation de comptes pour accéder aux données.
Donc on va retirer l'accès anonyme et on forcera donc l'utilisation de comptes pour accéder aux données.
Voilà le fichier LDIF qui nous permettra de le faire
Voilà le fichier LDIF qui nous permettra de le faire
<syntaxhighlight lang="text">
<file>
dn: dc=newbase,dc=ext
dn: dc=newbase,dc=ext
changetype: modify
changetype: modify
delete: aci
delete: aci
aci: (targetattr!="userPassword")(version 3.0; acl "Enable anonymous access"; allow (read, search, compare) userdn="ldap:///anyone";)
aci: (targetattr!="userPassword")(version 3.0; acl "Enable anonymous access"; allow (read, search, compare) userdn="ldap:///anyone";)
</syntaxhighlight>
</file>


Ensuite on l'applique
Ensuite on l'applique
{{LxTerm|text=ldapmodifiy -D "cn=Directory Manager" -W -x -f anonymousaci.ldif}}
{{LinuxTerminal|text=ldapmodifiy -D "cn=Directory Manager" -W -x -f anonymousaci.ldif}}


== Créer des comptes pour accéder au LDAP ==
== Créer des comptes pour accéder au LDAP ==
Ligne 66 : Ligne 67 :


Voilà un LDIF qui va ajouter les bonnes ACI et créer les groupes nécessaires.
Voilà un LDIF qui va ajouter les bonnes ACI et créer les groupes nécessaires.
<syntaxhighlight lang="text">
<file>
dn: dc=newbase,dc=ext
dn: dc=newbase,dc=ext
changetype: modify
changetype: modify
Ligne 89 : Ligne 90 :
objectclass: groupofuniquenames
objectclass: groupofuniquenames
cn: ldapadmins
cn: ldapadmins
</syntaxhighlight>
</file>


Une fois qu'on a tout ça, il ne reste plus qu'à créer des comptes et les référencer dans un de ces deux groupes pour qu'ils puissent lire les données du LDAP.
Une fois qu'on a tout ça, il ne reste plus qu'à créer des comptes et les référencer dans un de ces deux groupes pour qu'ils puissent lire les données du LDAP.
Ligne 95 : Ligne 96 :
[[Category:SysAdmin]]
[[Category:SysAdmin]]
[[Category:LDAP]]
[[Category:LDAP]]
[[Catégorie:Authentication]]
Notez bien que toutes les contributions à Adadov.net wiki peuvent être modifiées, transformées ou supprimées par d’autres utilisateurs. Si vous ne désirez pas que vos écrits soient modifiés contre votre gré, merci de ne pas les soumettre ici.
Vous nous promettez aussi que vous avez écrit ceci vous-même ou que vous l’avez copié d’une source placée dans le domaine public ou d’une ressource libre similaire (voir AdadovNet:Copyrights pour plus de détails). N’utilisez aucun travail sous droits d’auteur sans autorisation expresse !
Annuler Aide pour la modification (s’ouvre dans une nouvelle fenêtre)