Difference between revisions of "Installer et configurer OpenLDAP"
m Tag: 2017 source edit |
|||
(22 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | <!-- BEGIN interlang links --> | ||
+ | <!-- Do NOT edit this section | ||
+ | Links below are automatically managed by PolyglotBot | ||
+ | You can edit links on the English source page : Install_and_configure_OpenLDAP --> | ||
+ | [[en:Install_and_configure_OpenLDAP]] | ||
+ | [[es:Instalar_y_configurar_OpenLDAP]] | ||
+ | <!-- END interlang links --> | ||
+ | |||
+ | [[Category:Admin fr]] | ||
Ce chapitre ne concerne pas Dolibarr. Il contient un exemple d'instructions pour installer un annuaire LDAP qui pourra éventuellement être interfacé avec Dolibarr. | Ce chapitre ne concerne pas Dolibarr. Il contient un exemple d'instructions pour installer un annuaire LDAP qui pourra éventuellement être interfacé avec Dolibarr. | ||
= Installer le serveur LDAP = | = Installer le serveur LDAP = | ||
− | * Sous Ubuntu ou Debian, installer le package ldap. | + | * Sous Ubuntu ou Debian, installer le package slapd et ldap. |
* Sous Windows, vous pouvez utiliser le programme d'installation OpenLDAP Windows. | * Sous Windows, vous pouvez utiliser le programme d'installation OpenLDAP Windows. | ||
− | Une fois cette opération faite, vous disposez d'un serveur lancé en tant que service. | + | Une fois cette opération faite, vous disposez d'un serveur LDAP vierge lancé en tant que service. |
= Configurer le serveur = | = Configurer le serveur = | ||
− | + | Pour Ubuntu, voir la page http://doc.ubuntu-fr.org/openldap-server | |
+ | |||
+ | Sinon le DN racine, le user et le mot de passe de connexion sont décrits dans le fichier '''slapd.conf'''. Le port peut également l'etre, sinon il s'agit du port par défaut: 389. | ||
Arrêtez le service | Arrêtez le service | ||
− | Modifiez le fichier '''slapd.conf''' pour utiliser votre nom de domaine (remplacement des dc= | + | Modifiez le fichier '''slapd.conf''' pour utiliser votre nom de domaine (remplacement des dc=example.com,dc=com par votre choix). |
Modifiez le fichier '''slapd.conf''' également pour ajouter les include de schémas dont vous aller avoir besoin pour déclarer vos objets LDAP. | Modifiez le fichier '''slapd.conf''' également pour ajouter les include de schémas dont vous aller avoir besoin pour déclarer vos objets LDAP. | ||
− | + | <source lang="ini"> | |
− | + | include ./schema/core.schema | |
− | + | include ./schema/cosine.schema | |
− | + | include ./schema/inetorgperson.schema | |
− | + | include ./schema/nis.schema | |
+ | </source> | ||
+ | ou ajouter les schémas par | ||
+ | <source lang="ini"> | ||
+ | sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif | ||
+ | sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif | ||
+ | sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif | ||
+ | </source> | ||
Redemarrez le service. | Redemarrez le service. | ||
= Tester le serveur = | = Tester le serveur = | ||
− | A l'aide d'un browser LDAP comme JXplorer, essayer de vous connecter au | + | A l'aide d'un browser LDAP comme [[wikipedia:JXplorer|JXplorer]], essayer de vous connecter au serveur LDAP avec le user d'administration LDAP. |
Les identifiants de connexion par défaut seront donc: | Les identifiants de connexion par défaut seront donc: | ||
* Server: Localhost | * Server: Localhost | ||
* Port: 389 | * Port: 389 | ||
− | * User: cn=Manager,dc= | + | * User DN: cn=admin,dc=example,dc=com ou cn=Manager,dc=example,dc=com |
* Password: secret | * Password: secret | ||
− | * Base DN (optionnel): ne rien mettre ou mettre dc= | + | * Base DN (optionnel): ne rien mettre ou mettre dc=example,dc=com |
= Créer votre arbre LDAP = | = Créer votre arbre LDAP = | ||
Line 34: | Line 52: | ||
Créer un fichier init.ldif contenant votre organisation. Par exemple: | Créer un fichier init.ldif contenant votre organisation. Par exemple: | ||
+ | {{TemplateInitLDapDif}} | ||
+ | |||
+ | Executer le fichier avec le compte administrateur LDAP: | ||
+ | <source lang="bash"> | ||
+ | ldapadd -f init.ldif -D "cn=admin,dc=example,dc=com" -w secret | ||
+ | </source> | ||
+ | |||
+ | Le serveur est prêt avec un arbre standard pour les utilisateurs et les groupes. | ||
+ | |||
+ | |||
+ | = Creer des utilisateurs = | ||
+ | |||
+ | Créer un fichier inituser.ldif pour votre utilisateur. Par exemple: | ||
<source lang="ini"> | <source lang="ini"> | ||
− | # | + | # Some User |
− | dn: | + | dn: sn=someuser,ou=mypeople,dc=nodomain |
− | + | objectClass: inetOrgPerson | |
− | + | objectClass: organizationalPerson | |
− | + | objectClass: person | |
− | + | objectClass: top | |
− | + | cn: Some User | |
− | + | sn: someuser | |
− | + | mail: someuser@nodomain | |
− | + | userPassword: {SSHA}hnP4gNK7SbgsAW3eTZYf23a4R7Ob19l2 | |
− | + | </source> | |
− | + | ||
− | + | Utiliser '''slappasswd -s passwordtocrypt''' pour générer un mot de passe crypté. | |
− | + | ||
− | + | = Incidents = | |
− | + | Sous Windows, en cas d'arrêt brutal du server, le redémarrage de OpenLDAP peut échouer avec l'erreur | |
− | + | ''Program version x.y doesn't match environment version'' | |
+ | |||
+ | Pour confirmer le problem, aller sous DOS dans le répertoire data de OpenLDAP et lancer la commande | ||
+ | <source lang="bash"> | ||
+ | ..\db_stat -e | ||
+ | </source> | ||
+ | Si le message est bien celui la, lancer une réparation de la base par | ||
+ | <source lang="bash"> | ||
+ | ..\db_recover | ||
</source> | </source> | ||
+ | Le serveur doit maintenant pouvoir repartir. |
Latest revision as of 20:25, 18 February 2020
Ce chapitre ne concerne pas Dolibarr. Il contient un exemple d'instructions pour installer un annuaire LDAP qui pourra éventuellement être interfacé avec Dolibarr.
Installer le serveur LDAP
- Sous Ubuntu ou Debian, installer le package slapd et ldap.
- Sous Windows, vous pouvez utiliser le programme d'installation OpenLDAP Windows.
Une fois cette opération faite, vous disposez d'un serveur LDAP vierge lancé en tant que service.
Configurer le serveur
Pour Ubuntu, voir la page http://doc.ubuntu-fr.org/openldap-server
Sinon le DN racine, le user et le mot de passe de connexion sont décrits dans le fichier slapd.conf. Le port peut également l'etre, sinon il s'agit du port par défaut: 389.
Arrêtez le service
Modifiez le fichier slapd.conf pour utiliser votre nom de domaine (remplacement des dc=example.com,dc=com par votre choix).
Modifiez le fichier slapd.conf également pour ajouter les include de schémas dont vous aller avoir besoin pour déclarer vos objets LDAP.
include ./schema/core.schema
include ./schema/cosine.schema
include ./schema/inetorgperson.schema
include ./schema/nis.schema
ou ajouter les schémas par
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
Redemarrez le service.
Tester le serveur
A l'aide d'un browser LDAP comme JXplorer, essayer de vous connecter au serveur LDAP avec le user d'administration LDAP. Les identifiants de connexion par défaut seront donc:
- Server: Localhost
- Port: 389
- User DN: cn=admin,dc=example,dc=com ou cn=Manager,dc=example,dc=com
- Password: secret
- Base DN (optionnel): ne rien mettre ou mettre dc=example,dc=com
Créer votre arbre LDAP
L'étape suivante consiste à définir les informations à stocker dans l'annuaire LDAP et leur organisation.
Créer un fichier init.ldif contenant votre organisation. Par exemple:
# Organization
# 2 new lines or end of file after field description
dn: dc=mydomain,dc=com
objectclass: dcObject
objectclass: organization
dc: mydomain
o: Label of mydomain
description: Description for mydomain container
# Setting up container for Users OU
# 2 new lines or end of file after field description
dn: ou=mypeople,dc=mydomain,dc=com
objectclass: top
objectclass: organizationalUnit
ou: mypeople
description: Description for mypeople container
# Setting up container for groups
# 2 new lines or end of file after field description
dn: ou=mygroups,dc=mydomain,dc=com
objectclass: top
objectclass: organizationalUnit
ou: mygroups
description: Description for mygroups container
Executer le fichier avec le compte administrateur LDAP:
ldapadd -f init.ldif -D "cn=admin,dc=example,dc=com" -w secret
Le serveur est prêt avec un arbre standard pour les utilisateurs et les groupes.
Creer des utilisateurs
Créer un fichier inituser.ldif pour votre utilisateur. Par exemple:
# Some User
dn: sn=someuser,ou=mypeople,dc=nodomain
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
cn: Some User
sn: someuser
mail: someuser@nodomain
userPassword: {SSHA}hnP4gNK7SbgsAW3eTZYf23a4R7Ob19l2
Utiliser slappasswd -s passwordtocrypt pour générer un mot de passe crypté.
Incidents
Sous Windows, en cas d'arrêt brutal du server, le redémarrage de OpenLDAP peut échouer avec l'erreur Program version x.y doesn't match environment version
Pour confirmer le problem, aller sous DOS dans le répertoire data de OpenLDAP et lancer la commande
..\db_stat -e
Si le message est bien celui la, lancer une réparation de la base par
..\db_recover
Le serveur doit maintenant pouvoir repartir.