Ceci est une ancienne révision du document !
Fusion Directory
Installation de Fusion Directory sur CentOS 7.
Architecture de tests
2 VM pour la partie serveur LDAP (ldap0 et ldap1). 1 VM pour FusionDirectory (fusiondirectory).
Installation de l'annuaire
Description de l'installation sur les VM CentOS 7.
Serveur ldap0
Installation du service LDAP
Installation du serveur openldap :
yum install openldap-servers openldap-clients
Sécurisation et certificats
Création du certificat pour le serveur LDAP :
openssl req -new -x509 -nodes -out /etc/openldap/certs/cert.pem -keyout /etc/openldap/certs/priv.pem -days 365
Création du mot de passe pour l'administrateur du LDAP :
slappasswd -s master -n> /etc/openldap/passwd
Correction des droits et permissions sur les certificats :
chown ldap.ldap /etc/openldap/certs/* chmod 600 /etc/openldap/certs/priv.pem
Copie de la configuration LDAP par défaut :
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap.ldap /var/lib/ldap/DB_CONFIG
Activation du service LDAP
Démarrage du service :
systemctl enable slapd systemctl start slapd
Configuration initial de l'annuaire
Passage de quelques personnalisations (domaine, autorisation de base) de l'annuaire :
dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=linuxed,dc=net dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=Manager,dc=linuxed,dc=net dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}zlmgMU6ucpeLMQUiSGJ+xJv1/9R6cyhD dn: cn=config changetype: modify replace: olcTLSCertificateFile olcTLSCertificateFile: /etc/openldap/certs/cert.pem dn: cn=config changetype: modify replace: olcTLSCertificateKeyFile olcTLSCertificateKeyFile: /etc/openldap/certs/priv.pem dn: cn=config changetype: modify replace: olcLogLevel olcLogLevel: -1 dn: olcDatabase={1}monitor,cn=config changetype: modify replace: olcAccess olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=linuxed,dc=net" read by * none
A mettre dans le fichier /etc/openldap/changes.ldif.
Pour injecter ce fichier dans l'annuaire :
ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/changes.ldif
Injection de schémas de base (pré-requis) :
cd /etc/openldap/schema ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif
Création de la racine du domaine, et des OU People et Group, via un fichier /etc/openldap/base.ldif avec le contenu suivant :
dn: dc=linuxed,dc=net dc: linuxed objectClass: top objectClass: domain dn: ou=People,dc=linuxed,dc=net ou: People objectClass: top objectClass: organizationalUnit dn: ou=Group,dc=linuxed,dc=net ou: Group objectClass: top objectClass: organizationalUnit
Idem pour l'injecter :
ldapadd -x -W -D cn=Manager,dc=linuxed,dc=net -f /etc/openldap/base.ldif
Schémas spécifiques à FusionDirectory
Ajout du dépôt fusiondirectory pour installer les schémas LDAP de ce dernier. Voir la documentation suivante.
Installation des schémas LDAP pour FusionDirectory :
yum install -y fusiondirectory-schema schema2ldif
Pour injecter les schémas :
fusiondirectory-insert-schema
La partie LDAP est prête.
Serveur ldap1
Le serveur ldap1 est un backup du ldap0.
<WRAP INFO>TODO : réplication LDAP</WRAP>
Installation du serveur FusionDirectory
Configuration du dépôt FusionDirectory via la documentation suivante.
Installation des paquets :
yum install fusiondirectory
Si SeLinux est utilisé :
yum install fusiondirectory-selinux
D'éventuels plugins sont proposés via les paquets fusiondirectory-plugin*.
Redemarrer le service httpd :
systemctl restart httpd
Et se rendre sur la page d'administration : http://IP/fusiondirectory
Authentification depuis le LDAP
Sur RHEL/CentOS, il est facile de configurer une authentification depuis un annuaire LDAP avec la commande suivante :
authconfig --enablemkhomedir --update
Pour vérifier que le système récupère les informations utilisateurs depuis le LDAP :
getent passwd USER
Il faut bien sûr qu'un compte dans l'annuaire corresponde et soit de type Unix.