---
name: "Lemonldap::NG::Manager"
section: "3pm"
platform: "linux"
package: "liblemonldap-ng-manager-perl"
version: "2.21.2+ds-1+deb13u3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Lemonldap::NG::Manager"
---

# Lemonldap::NG::Manager(3pm)

Perl extension for managing Lemonldap::NG Web-SSO system.

## NAME

Lemonldap::NG::Manager - Perl extension for managing Lemonldap::NG Web-SSO system.

## SYNOPSIS

Use any of Plack launcher. Example:

```
  #!/usr/bin/env plackup

  use Lemonldap::NG::Manager;

  # This must be the last instruction ! See PSGI for more
  Lemonldap::NG::Manager->run($opts);
```

## DESCRIPTION

Lemonldap::NG::Manager provides a web interface to manage Lemonldap::NG Web-SSO system.

The Perl part of Lemonldap::NG::Manager is the REST server. Web interface is written in Javascript, using AngularJS framework and can be found in \`site\` directory. The REST API is described in REST-API.md file provided in source tree.

Lemonldap::NG Manager uses Plack to be CGI, FastCGI and so on compatible. It 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

\`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 (as any Lemonldap::NG module, you can also fix them in `$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/
```

## SEE ALSO

\<http://lemonldap-ng.org/\>

## AUTHORS

- LemonLDAP::NG team \<http://lemonldap-ng.org/team\>

  ## BUG REPORT

Use OW2 system to report 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.

## DOWNLOAD

Lemonldap::NG is available at \<https://lemonldap-ng.org/download\>

## COPYRIGHT AND LICENSE

See 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/\>.
