There is 2 types of SQL configuration backends for LemonLDAP::NG:
You need DBD::MySQL Perl module:
apt install libdbd-mysql-perl
yum install perl-DBD-MySQL
Create database:
CREATE DATABASE lemonldap-ng CHARACTER SET utf8;
Use database to create table:
USE lemonldap-ng
CREATE TABLE lmConfig ( cfgNum INT(11) NOT NULL, FIELD VARCHAR(255) NOT NULL DEFAULT '', VALUE longtext, PRIMARY KEY (cfgNum,FIELD) );
CREATE TABLE lmConfig ( cfgNum INT NOT NULL PRIMARY KEY, DATA longtext );
You have to grant read/write access for the manager component. Other components needs just a read access. You can also use the same user for all.
For example (suppose that our servers are in 10.0.0.0/24 network):
GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES ON lemonldap-ng.lmConfig TO lemonldaprw@manager.host IDENTIFIED BY 'mypassword'; GRANT SELECT ON lemonldap-ng.lmConfig TO lemonldapro@'10.0.0.%' IDENTIFIED BY 'myotherpassword';
Change configuration settings in /etc/lemonldap-ng/lemonldap-ng.ini
file (section configuration):
[configuration] type = RDBI dbiChain = DBI:mysql:database=lemonldap-ng;host=1.2.3.4 dbiUser = lemonldaprw dbiPassword = mypassword ; optional dbiTable = mytablename
You need DBD::Pg Perl module:
apt install libdbd-pg-perl
yum install perl-DBD-Pg
Create database:
CREATE DATABASE lemonldap-ng;
Use database to create table:
USE lemonldap-ng
CREATE TABLE lmconfig ( cfgnum INTEGER NOT NULL, FIELD text NOT NULL, VALUE text, PRIMARY KEY (cfgNum,FIELD) );
CREATE TABLE lmConfig ( cfgnum INTEGER NOT NULL PRIMARY KEY, DATA text );
Change configuration settings in /etc/lemonldap-ng/lemonldap-ng.ini
file (section configuration):
[configuration] type = RDBI dbiChain = DBI:Pg:database=lemonldap-ng;host=1.2.3.4 dbiUser = lemonldaprw dbiPassword = mypassword ; optional dbiTable = mytablename