Migration from OpenLDAP LTB 2.4 to OpenLDAP LTB 2.5
Migration from OpenLDAP 2.4 to OpenLDAP 2.5 is quite easy. Here is a step by step documentation to follow if you are using LTB packages.
Backup
Use slapd-cli to backup data and configuration:
slapd-cli backup
slapd-cli backupconfig
Deploy new version
First, stop OpenLDAP process:
systemctl stop slapd
Then update package repository configuration, to use the openldap25 repository.
For Debian:
deb [arch=amd64] https://ltb-project.org/debian/openldap25/bullseye bullseye main
For CentOS:
[ltb-project]
name=LTB project packages
baseurl=https://ltb-project.org/rpm/openldap25/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-LTB-project
If openldap-ltb-ppm package is installed, remove it, as ppm will now be included in openldap-ltb-contrib-overlays package.
For Debian:
apt remove openldap-ltb-ppm
For CentOS:
yum remove openldap-ltb-ppm
And upgrade to latest version:
For Debian:
apt update && apt upgrade
For CentOS:
yum update
OpenLDAP 2.5 packages should now be installed
Configuration
Some changes are required in your configuration, depending on which feature to you use.
Edit the configuration backup LDIF file you generated at the first step:
Remove built-in schema definition in
cn=schema,cn=configentry, keep only the 3 first lines:
dn: cn=schema,cn=config
objectClass: olcSchemaConfig
cn: schema
Remove
ppolicyschema if present (it will now be loaded by the overlay), but do not remove the overlay if it was already in your configurationReplace parameter
olcMirrorModebyolcMultiProviderReplace BDB/HDB configuration by MDB if you were still using these backends
Load all backends and overlays in
cn=modules,cn=config(they are no more compiled in the slapd binary), for example:
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/local/openldap/lib64/:/usr/local/openldap/libexec/openldap/
olcModuleLoad: {0}lastbind
olcModuleLoad: {1}pw-sha2
olcModuleLoad: {2}pw-pbkdf2
olcModuleLoad: {4}ppolicy
olcModuleLoad: {5}back_mdb
olcModuleLoad: {6}dynlist
olcModuleLoad: {7}syncprov
Remove
explockoutoverlay if you used it and configurepwdMinDelayandpwdMaxDelayin your password policy definition.
Restore the updated configuration:
slapd-cli restoreconfig
Data
Restore data from the backup done at first step:
slapd-cli restore
Check the service
The systemd service name has changed from slapd to slapd-ltb, you can now get the status with:
systemctl status slapd-ltb