
Uno de los cambios que trae FedoraCore 12 es OpenLDAP 2.4. Esta versión trae entre otros cambios, la obligatoriedad de usar el backend de configuración dinámica. Los que estábamos acostumbrados a usar toda la configuración de nuestros servidores OpenLDAP en /etc/openldap/slapd.conf, este cambio nos pilla un poco desprevenidos. Por suerte la gente de OpenLDAP había contemplado esto y nos facilita la migración.
Si queremos migrar una configuración de OpenLDAP anterior a 2.4, a esta nueva versión, podemos seguir la siguiente secuencia de pasos:
- Hacer un backup de la configuración por defecto que trae el nuevo servicio 2.4
mv /etc/openldap /etc/openldap_original_2.4
- Copiar la configuración del OpenLDAP anterior a /etc/openldap.
- Migrar la configuración del antiguo servicio a la versión 2.4, en un directorio temporal:
mkdir /tmp/export
slaptest -f /etc/openldap/slapd.conf -F /tmp/export/ - Instalar la nueva configuración
mkdir -m 700 /etc/openldap/slapd.d
cp -R /tmp/export/* /etc/openldap/slapd.d/ - Editar el fichero cn=config para editar
/etc/openldap/slapd.d - Fijar el login y contraseña del usuario que podrá modificar dinámicamente la configuración. Para ello, editar el fichero /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{0\}config.ldif para añadir las siguientes líneas:
olcRootDN: cn=admin,cn=config
La contraseña encriptada la podemos obtener ejecutando el comando
olcRootPW: {SSHA}pT8zKlqhV8dieALrkzwAiK8KdoxNV5mslappasswd. - Copiar la configuración del monitor de OpenLDAP, de la configuración original que habíamos movido.
export FILE=/etc/openldap_original_2.4/slapd.d
cp $FILE/cn=config/olcDatabase\=\{2\}monitor.ldif \
/etc/openldap/slapd.d/cn=config/ - Hacer copia de seguridad del directorio de la base de datos del directorio y preparar el directorio para inicializar el nuevo directorio:
mv /var/lib/ldap /var/lib/ldap_original
mkdir -m 700 /var/lib/ldap
cp /var/lib/ldap_original/DB_CONFIG /var/lib/ldap/ - A partir de un backup del antiguo servidor (hecha con
slapcatpor ejemplo), preparar un fichero ldif básico con donde se cree la raíz del directorio, y las ramas princiaples. Lo añadiremos con el comando slapadd:slapadd -l /tmp/estructura_inicial.ldif
- Cambiar los permisos de la base de datos del LDAP, y del directorio de configuración e iniciar el demonio de LDAP, mediante los siguientes comandos:
chown -R ldap.ldap /var/lib/ldap /etc/openldap
/etc/init.d/slapd start - Restaurar la copia de seguridad en el directorio que acabamos de crear...
ldapadd -x -D "cn=admin,ou=XXX,o=carm,c=es" -w CLAVE \
-f copia_seguridad.ldif - Recuperar la base de datos del directorio y reparar
/etc/init.d/slapd stop
slapindex
slapd_db_recover -h /var/lib/ldap
slapindex
chown ldap.ldap -R /var/lib/ldap
/etc/init.d/slapd start
Y ya tendremos nuestro directorio funcionado. :)
La imagen la he sacado del album de JPhilipson en flickr





