Browseable session backend

Browseable session backend (Apache::Session::Browseable) works exactly like Apache::Session::* corresponding module but add indexes that increase session explorer and session restrictions performances.

Setup

Prepare database

Using Redis, you just have to prepare Redis database. See Redis session backend.

Exemple with MySQL:

Database must be prepared exactly like in SQL session backend except that a field must be added for each data to index. Example with MySQL and index set to uid+ipAddr (recommended)

CREATE TABLE sessions (
    id char(32) NOT NULL PRIMARY KEY,
    a_session blob,
    uid varchar(255),
    ipAddr varchar(15),
    KEY uid (uid),
    KEY ipAddr (ipAddr)
    );

Manager

Using Redis, you just have to add the “Index” parameter in General parameters » Sessions » Session storage » Apache::Session module :

Required parameters
Name Comment Example
server Redis server 127.0.0.1:6379
Index Index uid ipAddr

Example with MySQL:

Go in the Manager and set the session module (Apache::Session::Browseable::MySQL for MySQL) 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:mysql:dbname=sessions
UserName The database username lemonldapng
Password The database password mysuperpassword
Index Index uid ipAddr

Apache::Session::Browseable::MySQL doesn't use locks so performances are keeped.

Security

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.