Installation de FusionDirectory

Debian Stretch a une version relativement récente de Fusion Directory (1.0.19 qui date de début 2017), mais suite à quelques soucis avec celui-ci, j’ai préféré installer directement la version de Fusion Directory.

Je profite de l’installation du service sur mon serveur pour prendre note des éléments utiles pour ce contexte.

La documentation officielle de FusionDirectory se trouve sur leur wiki, en particulier les pages d’installation pour Debian.

Installation d’un serveur LDAP

La documentation propose d’installer OpenLDAP. L’installation se passe simplement avec les paquets Debian. Elle vous demandera de saisir un mot de passe pour l’administrateur du service LDAP.

sudo apt install slapd ldap-utils

Configuration d’OpenLDAP

Après avoir installé le service, il faut le reconfigurer pour renseigner votre nom de domaine LDAP :

sudo dpkg-reconfigure slapd

La configuration pose ces questions:

  1. « Voulez-vous omettre la configuration d’OpenLDAP  ? » Réponse  : Non
  2. « Nom de domaine  : » Réponse  : votre nom de domaine selon l’explication du message (par exemple, « adorsaz.org »). Faites-attention, ce sera la racine de votre configuration, tout y sera lié.
  3. « Nom d’entité  : » Réponse : je ne sais pas très bien, la documentation de FusionDirectory propose de mettre le sous-domaine (donc « adorsaz » pour moi)

Ensuite, saisissez à nouveau le mot de passe administrateur choisi (deux fois).

Questions suivantes:

  1. « Module de base de données à utiliser  :» Réponse  : suivez la recommandation MDB (la documentation de Fusion Directory est un peu vieille et recommande HDB, car MDB n’était pas proposé avant).
  2. « Faut-il supprimer la base de données lors de la purge du paquet  ? » Réponse  : selon vos besoins, j’ai choisi « Oui » car je m’attends à ce qu’une purge d’un paquet efface tout.
  3. « Faut-il déplacer l’ancienne base de données  ? » Réponse  : j’ai dit oui, car l’ancienne base était vide.

Pour être sûr qu’OpenLDAP est en fonction, utilisez la commande systemctl status slapd.

Ajout des dépots FusionDirectory

Pour récupérer directement la dernière version de FusionDirectory, il vous faut mettre dans votre fichier /etc/apt/sources.list, les lignes suivantes:

# main fusion directory
deb http ://repos.fusiondirectory.org/fusiondirectory-current/debian-jessie jessie main
# fusiondirectory extra repository
deb http ://repos.fusiondirectory.org/fusiondirectory-extra/debian-jessie jessie main

Ajoutez bien les 2 répertoires, même si le second s’appelle extra. Il contient des dépendances nécessaires aux outils de FusionDirectory.

Bien que ce soit écrit jessie dans les lignes, les paquets peuvent être installés sur Debian Stretch pour l’instant d’après mon expérience.

Cette petite ambiguïté est finalement pratique pour installer facilement FusionDirectory et ses dépendances aux dernières versions:

apt install -t jessie -f fusiondirectory fusiondirectory-schema

Configuration du schéma LDAP pour FusionDirectory

Pour configurer FusionDirectory dans votre nouvelle base LDAP, il faut installer le paquet fusiondirectory-schema (voir ci-dessus).

Vous pouvez lister les schémas installés avec la commande suivante :

sudo fusiondirectory-insert-schema -l

FusionDirectory a besoin au moins d’installer les schémas suivants dans cet ordre :

# Schémas pour OpenLDAP
sudo fusiondirectory-insert-schema /etc/ldap/schema/core.schema
sudo fusiondirectory-insert-schema /etc/ldap/schema/cosine.schema
sudo fusiondirectory-insert-schema /etc/ldap/schema/nis.schema
sudo fusiondirectory-insert-schema /etc/ldap/schema/inetorgperson.schema
# Schémas pour FusionDirectory
sudo fusiondirectory-insert-schema /etc/ldap/schema/fusiondirectory/core-fd-conf.schema
sudo fusiondirectory-insert-schema /etc/ldap/schema/fusiondirectory/core-fd.schema
sudo fusiondirectory-insert-schema /etc/ldap/schema/fusiondirectory/ldapns.schema
sudo fusiondirectory-insert-schema /etc/ldap/schema/fusiondirectory/template-fd.schema

Quand vous installerez de nouveaux plugins pour FusionDirectory, vous aurez aussi sûrement besoin d’installer les schémas des plugins (un de configuration et un autre système).

Attention, lors des mises à jour de FusionDirectory, il faut bien lire les guides de migrations sur leur Wiki pour vérfier si des schémas doivent être mis à jour.

Installation de FusionDirectory

La commande d’installation du paquet de FusionDirectory aura installé et préparé le site web qui permettra d’accéder à FusionDirectory.

Ajustez la configuration Apache2 et PHP à vos usages (personnellement, j’utilise php-fpm pour servir mes sites).

Ensuite, accédez au lien que vous aurez configuré et suivez les instructions d’installation.

Enfin, vous pourrez modifier les paramétrages de Fusion Directory.

Activation du module OpenLDAP memberOf à faire avant de créer les groupes

La configuration d’OpenLDAP par défaut ne vous permettra pas de faire des recherches du style :

les membres du groupe xmpp-user peuvent se connecter à mon serveur XMPP

Pour pouvoir effectuer cette requête, il faut modifier la configuration d’OpenLDAP pour :

  1. Demander de charger le module memberOf
  2. Demander de charger le module d’intégrité des données
  3. Configurer le module memberOf
  4. Configurer le module d’intégrité

Pour sa configuraiton, OpenLDAP passe par l’utilisation de la commande ldapmodify et des fichiers de configurations *.ldiff.

Sources

Notes

J’ai réimporté ce vieil article depuis Movim avant que je ferme mon serveur.

Malheureusement Fusion Directory n’est plus dans les paquets Debian depuis Buster, parce que les développeurs du projet ont décidé de retirer le dosser /deb qui contenait les instructions pour construire le paquet Debian.

Le mainteneur du paquet dans Debian travaillait en collaboration avec les développeurs pour créer le paquet de Debian.

Malheureusement, il ne peut pas maintenir à lui seul le système de construction complètement (c’était un système spécifique pour Fusion Directory).

Pour pouvoir obtenir des paquets Debian à jour (uniquement les binaires, pas les sources), le seul moyen est de payer un abonnement au projet Fusion Directory.

Ça ressemble à une violation de la license GPL Pirate Praveen, il y aura peut être du nouveau si c’est le cas…

En attendant, j’ai supprimé ce service de mon serveur et je ne pense pas le réinstaller même si la situation se débloque : j’ai perdu confiance.