SQL session backend can be used with many SQL databases such as:
Your database must have a specific table to host sessions. Here are some examples for main databases servers.
Create a database if necessary:
mysqladmin create lemonldapng
Create sessions table:
CREATE TABLE sessions ( id CHAR(32) NOT NULL PRIMARY KEY, a_session text );
sessions to whatever you want, just adapt the parameter TableName in module options.
Create user and role:
su - postgres createuser lemonldap-ng -P
Entrez le mot de passe pour le nouveau rôle : <PASSWORD> Entrez-le de nouveau : <PASSWORD> Le nouveau rôle est-il un super-utilisateur ? (o/n) n Le nouveau rôle doit-il être autorisé à créer des bases de données ? (o/n) n Le nouveau rôle doit-il être autorisé à créer de nouveaux rôles ? (o/n) n
Create database:
createdb -O lemonldap-ng lemonldap-ng
Create table:
psql -h 127.0.0.1 -U lemonldap-ng -W lemonldap-ng
Mot de passe pour l'utilisateur lemonldap-ng : [...] lemonldap-ng=> create table sessions ( id char(32) not null primary key, a_session text ); lemonldap-ng=> q
Go in the Manager and set the session module (for example Apache::Session::Postgres for PostgreSQL) in General parameters » Sessions » Session storage » Apache::Session module and add the following parameters (case sensitive):
| Required parameters | ||
|---|---|---|
| Name | Comment | Example |
| DataSource | The DBI string | dbi:Pg:dbname=sessions;host=10.2.3.1 |
| UserName | The database username | lemonldapng |
| Password | The database password | mysuperpassword |
| Commit | Required for PostgreSQL | 1 |
| TableName | Name of the table | sessions |
You must read the man page corresponding to your database (Apache::Session::MySQL, …) to learn more about parameters. You must also install the database connector (DBD::Oracle, DBD::Pg,…)
If you choose to use MySQL, read how to increase MySQL performances.
Restrict network access to the database.
You can also use different user/password for your servers by overriding parameters globalStorage and globalStorageOptions in lemonldap-ng.ini file.