La configuration de LemonLDAP::NG est stockée dans un backend permettant à tous les modules d'y accéder.
</p>
<divclass="noteimportant">Tous les composants de <abbrtitle="LemonLDAP::NG">LL::NG</abbr> doivent avoir accès :<ul>
<liclass="level1"><divclass="li"> au système de stockage de la configuration</div>
</li>
<liclass="level1"><divclass="li"> au système de stockage des sessions</div>
</li>
</ul>
<p>
La configuration détaillée des backends de stockage est disponible <ahref="start.html#configuration_database"class="wikilink1"title="documentation:2.0:start">ici</a>.
</p>
</div>
<p>
Par défaut, la configuration est stockée dans des <ahref="fileconfbackend.html"class="wikilink1"title="documentation:2.0:fileconfbackend">fichiers</a>, donc l'accès par le réseau n'est en général pas possible. Pour contourner ce problème, utiliser <ahref="soapconfbackend.html"class="wikilink1"title="documentation:2.0:soapconfbackend">SOAP</a> pour l'accès à la configuration ou un service réseau tel une <ahref="sqlconfbackend.html"class="wikilink1"title="documentation:2.0:sqlconfbackend">base de donnée SQL</a> ou un <ahref="ldapconfbackend.html"class="wikilink1"title="documentation:2.0:ldapconfbackend">annuaire LDAP</a>.
</p>
<p>
Le backend de configuration peut être indiqué dans le <ahref="#local_file"title="documentation:2.0:configlocation ↵"class="wikilink1">fichier local de configuration</a>, dans la section <code>configuration</code>.
</p>
<p>
Par exemple, pour configurer le backend de configuration <code>File</code> :
<divclass="notetip">Voir <ahref="changeconfbackend.html"class="wikilink1"title="documentation:2.0:changeconfbackend">Comment changer le backend de configuration</a>.
</div>
</div><!-- EDIT2 SECTION "Backends" [39-1047] -->
<h2class="sectionedit3"id="manager">Manager</h2>
<divclass="level2">
<p>
La majeure partie de la configuration peut être réalisée via le manager LemonLDAP::NG (par défaut <ahref="http://manager.example.com"class="urlextern"title="http://manager.example.com"rel="nofollow">http://manager.example.com</a>).
</p>
<p>
Par défaut, le manager est protégé et n'autorise que l'utilisateur de démonstration “dwho”.
</p>
<divclass="noteimportant">Cet utilisateur n'est plus disponible si on change de backend d'authentification ! Ne pas oublier de changer la règle d'accès à l'hôte virtuel du manager pour autoriser les nouveaux administrateurs.
</div>
<p>
SI l'accès au manager est perdu, on peut le déprotéger en éditant <code>lemonldap-ng.in</code> et en changeant le paramètre <code>protection</code> :
# Manager protection: by default, the manager is protected by a demo account.
# You can protect it :
# * by Apache itself,
# * by the parameter 'protection' which can take one of the following
# values :
# * authenticate : all authenticated users can access
# * manager : manager is protected like other virtual hosts: you
# have to set rules in the corresponding virtual host
# * rule: <rule> : you can set here directly the rule to apply
# * none : no protection</pre>
<divclass="notetip">Voir la <ahref="managerprotection.html"class="wikilink1"title="documentation:2.0:managerprotection">documentation de protection du manager</a> pour savoir comment utiliser les modules d'Apache ou <abbrtitle="LemonLDAP::NG">LL::NG</abbr> pour gérer l'accès au manager.
<liclass="level1"><divclass="li"><strong>Fournisseurs de service <abbrtitle="Security Assertion Markup Language">SAML</abbr></strong> : SP enregistrés</div>
</li>
<liclass="level1"><divclass="li"><strong>Service OpenID-Connect</strong>: configuration du service OpenID-Connect</div>
</li>
<liclass="level1"><divclass="li"><strong>Fournisseurs OpenID-Connect</strong> : OP enregistrés</div>
</li>
<liclass="level1"><divclass="li"><strong>Clients OpenID-Connect</strong> : RP enregistrés</div>
</li>
</ul>
<p>
La configuration de LemonLDAP::NG est essentiellement une structure clef/valeur, ainsi le manager présente toutes les clefs en un arbre structuré. Un click sur la clef affiche la valeur associée.
</p>
<p>
Lorsque toutes les modifications sont effectuées, cliquer sur <code>Sauver</code> pour enregistrer la configuration.
</p>
<divclass="notewarning">LemonLDAP::NG effectue ensuite quelques tests sur la configuration et affiche les éventuelles erreurs et avertissements. La configuration <strong>n'est pas sauvée</strong> en cas d'erreur.
LemonLDAP::NG provide a script that allows one to edit configuration without graphical interface, this script is called <code>lmConfigEditor</code> and is stored in the LemonLDAP::NG bin/ directory, for example /usr/share/lemonldap-ng/bin:
LemonLDAP::NG provide a script that allows one to edit configuration items in non interactive mode. Ce script se nomme <code>lemonldap-ng-cli</code> et se trouve dans le répertoire bin/ de LemonLDAP::NG, par exemple /usr/share/lemonldap-ng/bin:
<divclass="noteimportant">LemonLDAP::NG ne gère pas la configuration d'Apache
</div>
<p>
LemonLDAP::NG fournit 3 fichiers de configuration Apache :
</p>
<ul>
<liclass="level1"><divclass="li"><strong>portal-apache2.conf</strong> : hôte virtuel du portail, incluant les points d'accès SOAP et fournisseur d'identité</div>
</li>
<liclass="level1"><divclass="li"><strong>manager-apache2.conf</strong> : hôte virtuel du manager</div>
</li>
<liclass="level1"><divclass="li"><strong>handler-apache2.conf</strong> : déclaration du handler, rechargement et exemple d'hôte virtuel</div>
</li>
</ul>
<p>
Voir <ahref="configapache.html"class="wikilink1"title="documentation:2.0:configapache">comment les déployer</a>.
</p>
<divclass="notewarning">Mod Perl doit être chargé avant LemonLDAP::NG, donc les inclusions aprèsla directive <code>LoadModule</code> de mod_perl.
<divclass="noteimportant">LemonLDAP::NG ne gère pas la configuration de Nginx
</div>
<p>
LemonLDAP::NG fournit 3 fichiers de configuration Nginx :
</p>
<ul>
<liclass="level1"><divclass="li"><strong>portal-nginx.conf</strong> : hôte virtuel du portail, incluant les points d'accès SOAP et fournisseur d'identité</div>
</li>
<liclass="level1"><divclass="li"><strong>manager-nginx.conf</strong> : hôte virtuel du manager</div>
</li>
<liclass="level1"><divclass="li"><strong>handler-nginx.conf</strong> : déclaration du handler, rechargement et exemple d'hôte virtuel</div>
</li>
</ul>
<p>
Voir <ahref="confignginx.html"class="wikilink1"title="documentation:2.0:confignginx">comment les déployer</a>.
</p>
<divclass="notewarning">Le serveur <ahref="fastcgiserver.html"class="wikilink1"title="documentation:2.0:fastcgiserver">FastCGI LL::NG</a> doit être lancé séparemment.
Le handler Nginx est fourni par le <ahref="fastcgiserver.html"class="wikilink1"title="documentation:2.0:fastcgiserver">serveur FastCGI LemonLDAP::NG</a>.
</p>
<ul>
<liclass="level1"><divclass="li"> Intercepter les erreurs :</div>
<h2class="sectionedit14"id="configuration_reload">Rechargement de la configuration</h2>
<divclass="level2">
<divclass="noteclassic">Comme les agents gardent leur configuration en cache, lorsque la configuration est changée elle doit être mise à jour dans les agents. Un redémarrage d'Apache marchera, mais LemonLDAP::NG offre le moyen de les recharger via une requête HTTP. Le rechargement de la configuration sera effectif en moins de 10 minutes.
</div>
<p>
Lorsque la configuration est sauvegardée par le manager, LemonLDAP::NG tente de recharger la configuration des agents distants en envoyant une requête HTTP aux serveurs. Les serveurs et URL peuvent être configurées dans le manager, <code>Paramètres généraux</code>><code>URL de rechargement de la configuration</code> : les clefs sont les noms de serveurs ou les adresses <abbrtitle="Internet Protocol">IP</abbr> à qui les requêtes seront envoyées, et les valeurs sont les URL à requêter.
</p>
<p>
Ces paramètres peuvent être surchargés dans le fichier ini de LemonLDAP::NG ini file, à la section <code>apply</code>.
</p>
<divclass="notetip">Une <abbrtitle="Uniform Resource Locator">URL</abbr> par serveur physique est nécessaire, car les agents partagent le même cache de configuration pour chaque serveur physique.
The <code>reload</code> target is managed in Apache or Nginx configuration, inside a virtual host protected by LemonLDAP::NG Handler (see below examples in Apache→handler or Nginx→Handler).
La configuration LemonLDAP::NG peut être gérée par un fichier local au <ahref="http://en.wikipedia.org/wiki/INI_file"class="urlextern"title="http://en.wikipedia.org/wiki/INI_file"rel="nofollow">format INI</a>. Le fichier est nommé <code>lemonldap-ng.ini</code> et dispose des sections suivantes :
</p>
<ul>
<liclass="level1"><divclass="li"><strong>configuration</strong> : où la configuration est stockée</div>
</li>
<liclass="level1"><divclass="li"><strong>apply</strong> : les <abbrtitle="Uniform Resource Locator">URL</abbr> de rechargement des agents distants</div>
</li>
<liclass="level1"><divclass="li"><strong>all</strong> : paramètres pour tous les modules</div>
</li>
<liclass="level1"><divclass="li"><strong>portal</strong> : paramètres réservés au portail</div>
</li>
<liclass="level1"><divclass="li"><strong>manager</strong> : paramètres réservés au manager</div>
</li>
<liclass="level1"><divclass="li"><strong>manager</strong> : paramètres réservés aux agents</div>
</li>
</ul>
<p>
Lorsqu'un paramètre et fixé dans <code>lemonldap-ng.ini</code>, il surcharge le paramètre issu de la configuration globale.
</p>
<p>
Par exemple, pour surcharger l'apparence du portail :
<divclass="notetip">Il est nécessaire de connaître le nom technique du paramètre de configuration pour le faire. Se référer à la <ahref="parameterlist.html"class="wikilink1"title="documentation:2.0:parameterlist">liste des paramètres</a> pour le trouver.