Lemonld...Manager(3)
π Lemonldap::NG::Manager π
okay bestie, listen β this is Lemonldap::NG::Manager, a Perl extension for managing the Lemonldap::NG Web-SSO system. she's part of the User Contributed Perl Documentation crew, she's iconic, and she's about to run your whole web SSO situation. let's get into it π«Ά
β¨ NAME β¨
Lemonldap::NG::Manager β Perl extension for managing Lemonldap::NG Web-SSO system. no cap.
π SYNOPSIS π
so the vibe here is: use any of the Plack launchers. example, literally right here:
#!/usr/bin/env plackup
use Lemonldap::NG::Manager;
# This must be the last instruction ! See PSGI for more
Lemonldap::NG::Manager->run($opts);
β οΈ bestie, the Lemonldap::NG::Manager->run($opts); line must be the last instruction! like, last last. the comment in the code says it, i'm saying it, it's real. see PSGI for more π
π¦ DESCRIPTION π¦
Lemonldap::NG::Manager gives you a whole web interface to manage the Lemonldap::NG Web-SSO system. main character behaviour tbh.
the Perl part of Lemonldap::NG::Manager is the REST server. the web interface is written in Javascript, using the AngularJS framework, and it lives in the site directory. the REST API is described in the REST-API.md file provided in the source tree. iykyk πβ¨
Lemonldap::NG Manager uses Plack so it's compatible with CGI, FastCGI and so on β she's flexible like that. and she inherits of Lemonldap::NG::Handler::PSGI::Router. π
π ORGANIZATION π
Lemonldap::NG Manager contains 6 parts:
- Configuration management
- Session explorer
- Notification explorer
- Second Factors manager
- Configuration builder (see
Lemonldap::NG::Manager::Build - Command line interface (see
Lemonldap::NG::Manager::Cli
πΈ Static files generation πΈ
the scripts/jsongenerator.pl file uses Lemonldap::NG::Manager::Build::Attributes, Lemonldap::NG::Manager::Build::Tree and Lemonldap::NG::Manager::Build::CTrees to generate:
site/htdocs/static/struct.json: main file containing the tree view;site/htdocs/static/js/conftree.js: generates Virtualhosts, SAML and OpenID-Connect partners sub-trees;Lemonldap::NG::Common::Conf::ReConstants: constants used by all Perl manager components;Lemonldap::NG::Common::Conf::DefaultValues: constants used to read configuration.
π PARAMETERS π
you can use a hash ref to override any LemonLDAP::NG parameter. currently, you can specify where your lemonldap-ng.ini file is:
Lemonldap::NG::Manager->run( { confFile => '/path/to/lemonldap-ng.ini' } );
π§ lemonldap-ng.ini parameters π§
you can override any configuration parameter in lemonldap-ng.ini, but some are required and can't be set to global configuration. (and fr, as with any Lemonldap::NG module, you can also fix them in the $opts hash ref passed as argument to run() or new().)
[manager]
;protection: choose one of none, authenticate, manager as explain in
; Lemonldap::NG::Handler::PSGI::Router doc.
protection = manager
;enabledModules: Modules to display. Default to `conf, sessions, notifications, 2ndFA`
enabledModules = conf, sessions, notifications, 2ndFA
;logLevel: choose one of error, warn, notice, info, debug
; See Lemonldap::NG::Common::PSGI doc for more
logLevel = notice
;staticPrefix: set here the URI path to static content
; See Lemonldap::NG::Common::PSGI doc for more
staticPrefix = static/
;languages: Available interface languages
languages = en, fr
;templateDir: path to the directory containing HTML templates
; See Lemonldap::NG::Common::PSGI doc for more
templateDir = /usr/share/lemonldap-ng/manager/
quick rundown so you're not lost in the sauce:
protectionβ choose one ofnone,authenticate,manager, as explained in theLemonldap::NG::Handler::PSGI::Routerdoc.enabledModulesβ modules to display. defaults toconf, sessions, notifications, 2ndFA.logLevelβ choose one oferror,warn,notice,info,debug. see theLemonldap::NG::Common::PSGIdoc for more.staticPrefixβ set the URI path to static content here. see theLemonldap::NG::Common::PSGIdoc for more.languagesβ available interface languages.templateDirβ path to the directory containing HTML templates. see theLemonldap::NG::Common::PSGIdoc for more.
π SEE ALSO π
π AUTHORS π
LemonLDAP::NG team <http://lemonldap-ng.org/team> β legends, honestly.
π BUG REPORT π
use the OW2 system to report a bug or ask for features: <https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues>
π note that if you want to post a ticket for a conf upload problem, please see Lemonldap::NG::Manager::Conf::Parser before. like, check that first bestie, save yourself the round trip.
π DOWNLOAD π
Lemonldap::NG is available at <https://lemonldap-ng.org/download> π
π COPYRIGHT AND LICENSE π
see the COPYING file for details.
this library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
this program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. see the GNU General Public License for more details.
you should have received a copy of the GNU General Public License along with this program. if not, see <http://www.gnu.org/licenses/>.
and that's the whole page, bestie π this one was documented by perl v5.42.3 and dated 2026-09-24 β so if you're reading this, shoutout to that exact little timestamp, she ate and left no crumbs π β¨
π¦ where this page comes from
- fedora 43: lemonldap-ng-manager 2.23.4-1.fc43 Β· GPL-2.0-or-later AND MIT AND GPL-3.0-or-later AND OFL-1.1-RFN
- fedora 44: lemonldap-ng-manager 2.23.4-1.fc44 Β· GPL-2.0-or-later AND MIT AND GPL-3.0-or-later AND OFL-1.1-RFN
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms