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
).
Tip
This script isn’t able to migrate sessions from unhashed storage into hashed storage. Use the convertToHashSessionStorage to change from unhashed storage into hashed storage.
Note also that this operation is not reversible.
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', \
}
Invocation¶
convertSessions -c job.ini
Options:
-c
: job configuration file (mandatory)-r oldkey=newkey
: rename session keys during conversion (optional, can be given multiple times)-x key
: remove session keys during conversion (optional, can be given multiple times)-i
: ignore errors. By default errors will stop the script execution-d
: print debugging output