Configuración de Openldap e interfaz gráfica
28 May 2014
Voy a explicar aquí cómo configurar y poner en marcha un servicio de directorio OpenLDAP en Linux. Sé que es un tema que está muy trillado ya, explicado en muchos sitios, y seguramente no aporte muchas novedades. Pero también es cierto que, ante las dificultades encontradas con Ubuntu 14.04 (a saber: problemas a la hora de crear objetos LDAP desde ficheros de texto, inutilidad de la última versión de phpldapadmin…) me ha parecido necesaria esta recopilación. En primer lugar, agradecer a los editores de Somebooks.es, de los cuales cojo gran parte de material aprovechando que es Creative Commons. Por supuesto, si leen esto les invito a reutilizar lo que yo ponga aquí, están haciendo una labor estupenda.
Lo primero es instalar y configurar la parte del servidor. Para esta parte, directamente remito al capítulo correspondiente del libro de Somebooks, que lo explica perfectamente y sin ninguna pega, para Ubuntu 12.04. Para la versión que aquí nos ocupa, Ubuntu 14.04, sí que encuentro algunas pegas a la hora de insertar objetos LDAP desde archivos de texto. Cuando intento crear las Unidades Organizativas encuentro bastantes problemas, y no he sabido encontrar una solución rápida. De todas maneras, instalo y configuro el dominio «midominio.es», o más conocido en LDAP, «dc=midominio,dc=es». De todas maneras, adjunto el mensaje de error… Así pues, decidí añadir esos elementos mediante interfaz gráfica más adelante… Y ahí es donde encontré más problemas; en el libro nos remiten a la herramienta phpLdapAdmin, excelente y muy sencilla de manejar, al menos en Ubuntu 12.04. En nuestra versión no es tan fácil. En primer lugar, a la hora de instalarlo da un extraño error y se queda sin instalar correctamente, y sin funcionar. Buscando buscando, encontré que la solución estaba en los repositorios de actualizaciones «proposed». Ciertamente, una vez marcado este repositorio, la herramienta se instala correctamente y, siguiendo las instrucciones de los amigos de Somebooks, parece que funciona! ¿Parece? Creamos una unidad organizativa, y funciona. Veamos qué pasa al añadir un usuario al directorio: …errores de php que no deberían aparecer, pero que están, e imposibilitan el alta del usuario. Desconozco su origen, y, después de mucho indagar, tampoco he encontrado solución. Por tanto, me incliné por buscar una herramienta gráfica alternativa. Veamos algunas de ellas (no pongo enlaces de sus desarrolladores porque están incluidas en los repositorios de Ubuntu):
- Gosa: Herramienta web, así que la primera ventaja es evidente: podemos administrar LDAP desde cualquier punto de la red. Requiere de la inclusión de esquemas (schema) previos en LDAP; tal vez demasiado relleno. La instalación requiere también de la activación manual de un módulo de php… decidí dejarla para más adelante, en otro post.
- LAT (LDAP Administration Tool): fácil de instalar, sencilla de manejar, integrada con GNOME… No está nada mal, aunque no terminó de funcionarme bien.
- JXplorer: Desarrollada en Java; por tanto, multiplataforma, versátil y… algo más compleja de manejar. Tampoco me convenció.
- LDAP-Account-Manager (lam). Esta herramienta también es una aplicación web, por tanto, tiene las ventajas de poder usarla en cualquier equipo de la red y sin necesidad de instalar nada más. Necesita un poco de «cera» antes de empezar a usarla, sí, pero me ha parecido la más fácil y adecuada a mis necesidades de todas. Así pues, me quedo con ella.
Una vez escogida la herramienta, paso a detallar su instalación y configuración. En primer lugar, instalamos el paquete «ldap-account-manager». Éste instalará (si no lo estaba ya) apache, php, etc… Para ello, podemos usar el comando sudo apt-get install ldap-account-manager A continuación, lo arrancamos: http://localhost/lam, si queremos administrar desde el mismo servidor. Como vemos, parece bastante simple… requiere un poco de configuración previa para ponernos en marcha, pero una vez lo hagamos, valdrá la pena. Comenzamos pulsando arriba, donde pone «LAM configuration». Nos da dos enlaces y cada uno de ellos pedirá una clave, por defecto es «lam» (recomiendo cambiarla lo antes posible, por supuesto). Escogemos la opción «Edit general settings», y vemos el resultado: No es muy importante: equipos que pueden conectarse a la herramienta, tiempo de desconexión automática… y abajo, la contraseña. Eso será lo primero que cambiaremos. Nos pedirá otra vez el «master password», que sigue siendo «lam». Ahora volvemos a la pantalla anterior y escogemos la otra opción, «Edit server profiles». Ésta sí que es importante (contraseña primera vez: lam). Observamos en esta pantalla varias cosas que debemos cambiar:
- Tree suffix: ahí tendremos que poner los datos de nuestro dominio; en mi caso, «dc=midominio,dc=es».
- Language settings: está en español, así que mejor aprovecharlo.
- Security settings: debemos editar el nombre del usuario, recordando cuál era nuestro administrador:en mi caso, «cn=admin,dc=midominio,dc=es»
- New password/Reenter password: cambiamos la contraseña maestra. A partir de ahora, será la que utilicemos para entrar en estas opciones. No tiene por qué ser la misma que utilicemos para entrar al dominio; son cosas distintas.
Una vez guardamos estos valores, LAM vuelve a la pantalla de inicio, pero en español. Ya estamos en disposición de conectarnos, pero vamos a cambiar un par de cosas más para que funcione todo correctamente. Volvemos a pinchar en «Configuración de LAM», y después en «Editar perfiles del servidor»; nos pedirá nuestra contraseña y ya entramos sin problemas. Pasamos a la pestaña «tipos de cuentas» y ahí modificaremos algunas cosas:
- En Tipos de cuentas activos, nos permite definir de forma automática unidades organizativas para trabajar más fácilmente. Dentro tenemos varios apartados:
- Usuarios: pondremos el nombre apropiado a cada caso. En el mío particular, pongo «ou=usuarios,dc=midominio,dc=es»
- Grupos: Igualmente, personalizo: «ou=grupos,dc=midominio,dc=es»
- Equipos: Más de lo mismo: «ou=equipos,dc=midominio,dc=es»
- «Dominios de Samba»: por si acaso, ponemos también los datos de nuestro dominio.
Por ahora es suficiente. Guardamos y volvemos a la pantalla de inicio. Ahora sí podemos introducir el password de administrador del dominio y entrar en la aplicación. Un último paso: ahora nos pregunta si queremos crear las Unidades Organizativas definidas anteriormente. Lógicamente, diremos que sí (crear). Ahora disponemos de varias pestañas: usuarios, grupos, equipos, y opciones de Samba. Por ahora, nos preocuparemos sólo de las dos primeras, muy sencillas de manejar.
Pestaña «Grupos»
Empezamos por aquí porque todos los usuarios deben pertenecer a un grupo.
Añadimos uno nuevo (lo llamamos «Clase»)
Pestaña «Usuarios»
Como no tenemos ninguno, creamos uno:
Debemos marcar en el lateral los datos según tipo de usuario que queremos utilizar. En nuestro caso, con «Personal» y «unix» vamos servidos.
Es importante recordar el nombre de usuario, el grupo primario, y la ubicación del directorio «home» (todos en la pestaña Unix). También hemos de recordar asignarle una contraseña al usuario.
Las pestañas «sombra» y «samba» se pueden habilitar, pero no son necesarias en nuestro ejemplo.
Si nos gusta más la vista tipo «phpldadadmin», podemos pulsar en «Vista de árbol», y tendremos todo nuestro dominio a la vista:
Una vez tenemos nuestra infraestructura de usuarios y grupos creada, ya podemos empezar a trabajar con el Directorio. Para ello, continuaremos siguiendo el manual de Somebooks paso a paso:
- Configuración de un Cliente para usar el dominio, pudiendo iniciar sesión con los usuarios del dominio sin necesidad de darlos de alta a mano.
- Creación de perfiles móviles utilizando NFS y LDAP; así tendremos nuestra cuenta de usuario a mano en todos los equipos Linux de la red.
En próximas entregas intentaremos conectar equipos Windows al dominio.
Hola, soy nuevo en esto de ldap estoy haciendo el paso a paso de su configuración pero me esta saliendo el siguiente error:
Error de LDAP, el servidor dice:
(-1) Can’t contact LDAP server
me puedes guiar sobre este error
gracias
att CADD
Buenas.
Está claro que no lo has instalado bien… Sin más datos no puedo averiguar a qué se puede deber, es un error demasiado general.
Antes de empezar por la instalación, es recomendable preparar la configuración de red adecuadamente: desinstalar network-manager (apt-get purge network-manager), configurar adecuadamente los ficheros «interfaces», «hosts» y «hostname», y entonces instalas.
Como guía para configurar todo lo que digo, puedes usar la primera parte de lo que cuentan en este enlace: http://somebooks.es/?p=5750&page=7
Un saludo.
en edit general settings no modifique NADA, cambio el dominio y usuarios en edit server profiles y trato de logearme nuevamente y me dice: «Wrong password/user name combination. Please try again.» por favor necesito ayuda con esto, ya que phpldapadmin no me deja crear los objetos.
Recomiendo, antes de empezar, preparar la configuración de red adecuadamente: desinstalar network-manager (apt-get purge network-manager), configurar adecuadamente los ficheros “interfaces”, “hosts” y “hostname”, y entonces proceder con la instalación.
Como guía para lo que digo, puedes usar la primera parte de lo que cuentan en este enlace: http://somebooks.es/?p=5750&page=7
Del mismo modo, phpldapadmin da problemas si no se «prepara» previamente, no basta con instalarlo (lo mismo que pasa con LAM). El fichero a modificar es el /etc/phpldapadmin/config.php, y las líneas son la 286, 300 y 326. Ahí tendrás que poner los datos de tu dominio. Luego, reinicia los servicios y a ver si va. Si no, ya me cuentas.
con phpldapadmin yo modifique los archivos de configuración, entre ellos config.php pero el error seguia saliendo, me dejaba crear las unidades organizativas (usuarios y grupos) pero no me dejaba cargar los usuarios a la misma, ni siquiera me muestra la opción de crear los objetos. intentare con esta solución que me dices y te cuento luego. gracias!
otra cosa, yo instale y configure OpenLdap no samba. El error tendrá algo que ver con eso?
A ver… no es lo mismo. Si quieres un directorio compatible con Directorio Activo/Windows, lo que necesitas es Samba, claro. Para eso, mira aquí:
Si no es el caso, sigue con OpenLDAP. Pero primero decide uno u otro; por ahora, no he conseguido integrar los dos.
mi opción es openLDAP pero lo que busco es una herramienta gráfica para la gestión de usuarios y evitarme el proceso tedioso de los archivos ldif por consola, necesito crear unos pocos usuarios en ldap para probar la conexión con el servicio de autenticación central (CAS), esto es importante es para mi trabajo de grado 😦 ya ldap me ha causado muchos problemas y me esta quitando mas tiempo de lo debido. agradezco las respuestas anteriores y futuras.
Bien. En la entrada hablo también de otras herramientas, como LDAP Account Manager (lam, personalmente la que más me gusta, pero en Ubuntu 16.04 no he conseguido que tire) y otras.
Webmin también lleva módulos de ldap, ¿la has probado? Es una de las herramientas más completas que hay.
Otra cosa: Antes de meterte en la interfaz gráfica, comprueba que funciona….
Suerte.
Buenas, soy un estudiante de grado medio, intente crearlo, y me funciono, cree grupos y demás, pero me da error al momento de crear los usuarios, busque información, pero nada acerca de que eso de error, que puedo hacer? Muy buen manual, el mejor que encontre 🙂 Saludos
Buenas, soy profesor de Grado Medio y precisamente intento adaptar el nivel para alumnos como tú. Agradezco que te gustara. Lamentablemente, sin saber cuál es el error exactamente es complicado ayudarte. Es extraño que te deje crear grupos y no usuarios… Siempre puedes probar otra interfaz (creo que phpldapadmin va bien con Ubuntu 16.04), o desde modo texto.
Un saludo.
Si decides usar phpldapadmin, ten en cuenta que da problemas si no se “prepara” previamente, no basta con instalarlo (lo mismo que pasa con LAM). El fichero a modificar es el /etc/phpldapadmin/config.php, y las líneas son la 286, 300 y 326. Ahí tendrás que poner los datos de tu dominio. Luego, reinicia los servicios y a ver.