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 :
- auth. : portail principal, il doit être public
- manager. : manager, seulement pour les administrateurs
- 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