How to change session backend

LemonLDAP::NG provides a script to change session backend. This script will help you transfer existing persistent sessions (or offline sessions) when migrating from one backend to another, or when adding indexes to a browseable session backend. It is available in LemonLDAP::NG utilities directory (convertSessions).

How it works

The convertSessions utility requires you to create a job configuration file with the following content:

# This example migrates psessions from the default File backend to a PostgreSQL database
[sessions_from]
storageModule = Apache::Session::File
storageModuleOptions = {    \\
      'Directory' => '/var/lib/lemonldap-ng/psessions',     \\
      'LockDirectory' => '/var/lib/lemonldap-ng/psessions/lock', \\
}
# Only convert some session types
# sessionKind = Persistent, SSO

[sessions_to]
storageModule = Apache::Session::Browseable::Postgres
storageModuleOptions = {    \\
    'DataSource' => 'DBI:Pg:database=lemonldapdb;host=pg.example.com', \\
    'UserName' => 'lemonldaplogin', \\
    'Password' => 'lemonldappw', \\
    'Commit' => 1, \\
    'Index' => 'ipAddr _whatToTrace user', \\
    'TableName' => 'psessions', \\
}

Invokation

convertSessions -c job.ini

Options:

  • -c: job configuration file (mandatory)
  • -i: ignore errors. By default errors will stop the script execution
  • -d: print debugging output