He montado un servidor LDAP en uno de los servidores, la verdad es que este es uno de los servicios que más se me complica siempre, no se si porque soy un poco torpe o porque siempre me dejo algo por hacer…, será porque soy un desastre.
He seguido varias guias, algunas de un curso que hice de openLDAP, otras de internet y las más interesantes son unas de que tiene ALberto Molina colgadas en la web de Gonzalo Nazareno.
Bueno comenzamos todo esto porque necesito un banco de pruebas para la aplicación que monto normalmente, y debo tener listo un oracle, un postgreSQL, un LDAP, y bueno, algunas cosillas más. A día de hoy está casi todo montado a falta de terminar el LDAP, que ya tiene muy buena pinta, vamos tan solo es meterle unos usuarios, pero lo demás está listo (aquí solo veremos la instalación del servidor).
Instalación de los paquetes necesarios:
servidorldap:~# aptitude install slapd ldap-utils
Cuando los instalemos nos va a pedir la contraseña del administrador del LDAP, se la damos y termina la instalación, pero no tenemos aún terminada la instalación del servicio, debemos introducirle todos los parámetros necesarios como el dominio, para ello un debconf que nos ayudará en el proceso.
servidorldap:~# dpkg-reconfigure slapd

Introducimos el nombre de nuestro dominio:

Introducimos el nombre de la organización:

Introducimos la contraseña y la verificamos:

Seleccionamos el tipo de base de datos:

Yo he marcado la opción de purgar la base de datos cuando el paquete se elimine, ya que si vamos a eliminar el paquete es porque ya no nos sirve de nada y por lo tanto la base de datos tampoco.

Eliminamos la base de datos antigua por si hay alguna de una vieja instalación que no nos sirve, si por el contrario va a servirnos, pues la mantendremos. No es mi caso.

No vamos a permitir el uso del protocolo LDAPv2 ya que no lo estaremos usando y podría ser un error de configuración que pone en peligro la seguridad del LDAP.

Una vez que tenemos configurado los parámetros necesarios de nuestro servidor LDAP ahora le añadiremos un par de directivas al archivo de configuración /etc/ldap/slapd.conf
rootdn “cn=admin,dc=prueba,dc=com” #para autentificar al administrador
rootpw secret #la contraseña
Añadimos la línea necesaria en /etc/hosts para que tengamos controlada la locacización del dominio
127.0.0.1 prueba.es
Usaremos la clave secret sin encriptar para empezar y hacer las pruebas, luego lo cambiaremos por una clave encriptada, reiniciamos el servidor LDAP y listo.
/etc/init.d/slapd restart
Ya tenemos el servidor ldap corriendo en nuestra máquina, debemos ahora usar unos ficheros de configuración necesarios para dar forma a las ramas del ldap. Estos son ficheros ldif, en los que se describen las ramas del ldap, como por ejemplo los usuarios o los grupos.
Aquí están los archivos que he usado para montar el ldap que uso normalmente para pruebas.
LdifUsuario.ldif,
LdifGrupo,
LdifMfernandez
Vamos a cargar los datos usando estos ficheros ldif, para ello necesitamos parar el servicio, así cuando lo volvamos a levantar tengamos toda la configuración establecida.
~# /etc/init.d/slapd stop
Vaciaremos la base de datos que viene por defecto en el primer arraque
~# rm rf /var/lib/ldap/*
Añadimos los ficheros ldif comenzando por el grupo, luego por el usuario, y después cada uno de los usuarios
~# ldapadd -x -D “cn=admin,dc=prueba,dc=es” -W -f grupos.ldif
~# ldapadd -x -D “cn=admin,dc=prueba,dc=es” -W -f usuarios.ldif
~# ldapadd -x -D “cn=admin,dc=prueba,dc=es” -W -f mfernandez.ldif
Revisaremos los permisos del directorio /var/lib/ldap para que tenga el usuario y grupo del que arranca el servicio slapd
~# chown R usuario:grupo /var/lib/ldap
Ya tenemos instalado el servidor Ldap en nuestra máquina, ahora solo falta darle utilidad.










La verdad es que la unica forma de aprender LDAP es trabajando con LDAP. Si realmente quieres aprender y dominar este magnífico protocolo NUNCA utilices un frontend gráfico, hazlo siempre TODO por comandos, los comandos están en todas partes, los frontends graficos no… Lo siguiente será ampliar el esquema, crear esclavos (slurpd) y luego probar redhat/fedora directory server con multimaestro y sincronización con active directory, etc… casi ná…