LDAP configuration backend¶
Presentation¶
You can choose to store LemonLDAP::NG configuration in an LDAP directory.
Advantages:
- Easy to share between servers with remote LDAP access
- Easy to duplicate with LDAP synchronization services (like SyncRepl in OpenLDAP)
- Security with SSL/TLS
- Access control possible by creating one user for Manager (write) and another for portal and handlers (read)
- Easy import/export through LDIF files
The configuration will be store under a specific branch, for example
ou=conf,ou=applications,dc=example,dc=com
.
Each configuration will be represented as an entry, which structural
objectClass is by default applicationProcess
. The configuration name
is the same that files, so lmConf-1, lmConf-2, etc. This name is used in
entry DN, for example
cn=lmConf-1,ou=conf,ou=applications,dc=example,dc=com
.
Then each parameter is one value of the attribute description
,
prefixed by its key. For example {ldapPort}389
.
The LDIF view of such entry can be:
dn: cn=lmConf-1,ou=conf,ou=applications,dc=example,dc=com
objectClass: top
objectClass: applicationProcess
cn: lmConf-1
description: {globalStorage}'Apache::Session::File'
description: {cookieName}'lemonldap'
description: {whatToTrace}'$uid'
...
Configuration¶
LDAP server¶
Configuration objects use standard object class: applicationProcess
.
This objectClass allow attributes cn
and description
. If your
LDAP server do not manage this objectClass, configure other objectclass
and attributes (see below).
We advice to create a specific LDAP account with write access on configuration branch.
Next create the configuration branch where you want. Just remember its DN for LemonLDAP::NG configuration.
LemonLDAP::NG¶
Configure LDAP configuration backend in lemonldap-ng.ini
, section
[configuration]
:
type = LDAP
ldapServer = ldap://localhost
ldapConfBase = ou=conf,ou=applications,dc=example,dc=com
ldapBindDN = cn=manager,dc=example,dc=com
ldapBindPassword = secret
ldapObjectClass = applicationProcess
ldapAttributeId = cn
ldapAttributeContent = description
Parameters:
- ldapServer: LDAP URI of the server
- ldapConfBase: DN of configuration branch
- ldapBindDN: DN used to bind LDAP
- ldapBindPassword: password used to bind LDAP
- ldapObjectClass: structural objectclass of configuration entry (optional)
- ldapAttributeId: RDN attribute of configuration entry (optional)
- ldapAttributeContent: attribute used to store configuration values, must be multivalued (optional)
- ldapVerify: When using a LDAPS or TLS server, whether or not to validate the server certificate. Possible values:
require
,optional
ornone
. - ldapCAFile: This allows you to override the default system-wide certificate authorities by giving a single file containing the CA used by the LDAP server.
- ldapCAPath: This allows you to override the default system-wide certificate authorities by giving the path of a directory containing your trusted certificates.