cas – déploiement d’un serveur lemonldap-ng via un proxy apache2

LemonLDAP::NG est un logiciel open source qui fournit une solution d’authentification unique distribuée avec gestion centralisée des droits sous licence GPL. Il est créé en 2004 par la Gendarmerie nationale française, en fourchant le logiciel LemonLDAP (Wikipédia).

LL::NG – Prérequis

apt install apache2 libapache2-mod-perl2 libapache2-mod-fcgid libapache-session-perl libnet-ldap-perl libcache-cache-perl libdbi-perl perl-modules-5.32 libwww-perl libxml-simple-perl libsoap-lite-perl libhtml-template-perl libregexp-assemble-perl libregexp-common-perl libjs-jquery libxml-libxml-perl libcrypt-rijndael-perl libio-string-perl libxml-libxslt-perl libconfig-inifiles-perl libjson-perl libstring-random-perl libemail-date-format-perl libmime-lite-perl libcrypt-openssl-rsa-perl libdigest-hmac-perl libdigest-sha-perl libclone-perl libauthen-sasl-perl libnet-cidr-lite-perl libcrypt-openssl-x509-perl libauthcas-perl libtest-pod-perl libtest-mockobject-perl libauthen-captcha-perl libnet-openid-consumer-perl libnet-openid-server-perl libunicode-string-perl libconvert-pem-perl libmoose-perl libplack-perl libapache-session-browseable-perl libdbd-pg-perl libgd-securityimage-perl perlmagick libemail-sender-perl libconvert-base32-perl libdigest-hmac-perl libio-socket-timeout-perl

LL::NG – Repository

Vérifier que votre système peut installer des paquets à partir de dépôts HTTPS :

apt install apt-transport-https curl gnupg

Importer la signature du dépôt LL::NG

curl https://lemonldap-ng.org/_media/rpm-gpg-key-ow2 | gpg --dearmor > /usr/share/keyrings/lemonldap-ng-archive-keyring.gpg

Ajouter le dépôt LL::NG

vi /etc/apt/sources.list
## LemonLDAP::NG repository
deb [arch=amd64 signed-by=/usr/share/keyrings/lemonldap-ng-archive-keyring.gpg] https://lemonldap-ng.org/deb stable main
  • Utiliser le dépôt stable pour obtenir les paquets de la version majeure actuelle
  • Utiliser le dépôt oldstable pour obtenir les paquets de la version majeure précédente
  • Utiliser le dépôt testing pour obtenir les paquets de la prochaine version majeure
  • Utiliser le dépôt 2.0 pour rester sur cette version majeure et éviter la mise à niveau vers la version majeure suivante

LL::NG – Installation

apt install lemonldap-ng lemonldap-ng-doc liblemonldap-ng-portal-perl

Par défaut, le domaine DNS est example.com. Vous pouvez le changer rapidement avec sed. Par exemple, nous le remplaçons par mondomaine.fr :

sed -i 's/example\.com/mondomaine.fr/g' /etc/lemonldap-ng/* /var/lib/lemonldap-ng/conf/lmConf-1.json
chown www-data:www-data /var/lib/lemonldap-ng/conf/lmConf-1.json
chmod 660 /var/lib/lemonldap-ng/conf/lmConf-1.json

Les fichiers de configuration sont versionnés dans /var/lib/lemonldap-ng/conf/

LL::NG – DNS

Configurez votre serveur DNS pour qu’il résolve les noms avec l’IP de votre serveur :

  1. auth. : portail principal, il doit être public
  2. manager. : manager, seulement pour les administrateurs
  3. test1., test2. : exemples d’applications

LL::NG – Apache2

Supprimer les fichiers non nécessaires

rm /etc/apache2/sites-enabled/000-default.conf
rm /etc/lemonldap-ng/test-nginx.conf
rm /etc/lemonldap-ng/portal-nginx.conf
rm /etc/lemonldap-ng/nginx-l*
rm /etc/lemonldap-ng/handler-nginx.conf
rm /etc/lemonldap-ng/api-nginx.conf
a2ensite manager-apache2.conf
a2ensite portal-apache2.conf
a2ensite handler-apache2.conf
a2ensite test-apache2.conf
a2enmod fcgid perl alias rewrite headers ssl

LL::NG – Configuration

A venir …

LL::NG – Tuning

Remplacer le sujet dans mail de localisation à chaque connexion

sed -i 's/\[LemonLDAP::NG\]/\[GARDE\]/g' /usr/share/lemonldap-ng/portal/templates/common/mail/*.json

Références