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 sessio 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