Instale el servidor OpenLDAP y administre con phpLDAPadmin en Debian / Ubuntu


LDAP son las siglas de Lightweight Directory Access Protocol que se puede utilizar de diversas formas, como autenticación, directorio compartido (para clientes de correo), libreta de direcciones, etc. El protocolo LDAP se puede utilizar para establecer y almacenar cualquier tipo de información. El servidor OpenLDAP le brinda la posibilidad de acceder a la información que se almacena en una estructura de árbol.

En este artículo le mostraremos cómo instalar y configurar un servidor OpenLDAP y cómo administrarlo con phpLDAPadmin en sistemas Debian, Ubuntu y Linux Mint.

Instalación del servidor OpenLDAP en Linux

Por defecto, el servidor OpenLDAP está en repositorios bajo el paquete "slapd". Puede instalarlo fácilmente con la ayuda de la herramienta de administración de paquetes llamada apt-get. Pero antes de instalar el servidor OpenLDAP, asegúrese de que su sistema esté actualizado.

Durante la instalación, le pedirá que ingrese una contraseña para la entrada de administrador en su directorio LDAP. Introduzca una contraseña segura y confírmela seleccionando Aceptar.

 
$ sudo apt-get update 
$ sudo apt-get install slapd ldap-utils

Configurar el servidor OpenLDAP

Para configurar el servidor OpenLDAP, necesita editar el archivo ldap.conf, que se almacena en el directorio/etc. Para editar el archivo ldap.conf necesita un editor de texto como vim, nano, etc. Ejecute el siguiente comando para abrir el archivo de configuración ldap y editarlo.

$ sudo nano /etc/ldap/ldap.conf

La salida del comando anterior se muestra en la siguiente sección.

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

#BASE   dc=example,dc=com
#URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

# TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

Descomente las líneas BASE y URI, para que pueda editarlas con su propio nombre de dominio y dirección IP. Dado que esta es una instalación y configuración de prueba, usaré tecmint123.com como mi nombre de dominio.

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE   dc=tecmint123,dc=com
URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

# TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

Guarde el archivo y ejecute el siguiente comando para reconfigurar el paquete LDAP.

$ sudo dpkg-reconfigure slapd

Para construir el DN base del directorio LDAP, necesita un nombre de dominio DNS.

Ingrese su nombre de dominio DNS y presione Enter para confirmarlo. Luego, el ldap le pedirá que ingrese el nombre de la organización para usar en el DN base de su directorio LDAP. Ingrese el nombre de su empresa u organización y presione Enter nuevamente.

directorio. Debe ingresar la contraseña del administrador que creó en los pasos anteriores.

Una vez que haya confirmado la contraseña del administrador, debe seleccionar la base de datos. Hay dos bases de datos para seleccionar, BDB y HDB. Ambos admiten las mismas opciones de configuración, utilizan formatos de almacenamiento similares, pero dado que la base de datos HDB agrega soporte para cambios de nombre de subárbol, es el recomendado.

Puede seleccionar la base de datos que crea que funcionará mejor para usted. Una vez que haya decidido qué base de datos utilizará, presione Entrar para confirmar la selección. Luego se le pedirá otra pregunta. Seleccione Sí para eliminar la base de datos cuando se purgue slapd.

Seleccione nuevamente Sí y presione Entrar.

Seleccione No y el servidor LDAP comenzará a funcionar.

[sudo] password for ravisaive: 
 * Stopping OpenLDAP slapd                                                                                       [ OK ] 
  Moving old database directory to /var/backups:
  - directory unknown... done.
  Creating initial configuration... done.
  Creating LDAP directory... done.
 * Starting OpenLDAP slapd                                                                                       [ OK ] 
Processing triggers for libc-bin ...

Para probar el servidor LDAP, se utiliza el comando ldapsearch -x.

ldapsearch -x

Produce la siguiente salida.

# extended LDIF
#
# LDAPv3
# base <dc=tecmint123,dc=com> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# tecmint123.com
dn: dc=tecmint123,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: tecmint
dc: tecmint123

# admin, tecmint123.com
dn: cn=admin,dc=tecmint123,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

Administración LDAP con phpLDAPadmin

phpLDAPadmin es una herramienta de administración de GUI para la administración del servidor LDAP. Esta herramienta GUI nos ayudará a interactuar con su servidor LDAP a través de una interfaz web. Está disponible en los repositorios predeterminados, se puede instalar con el comando apt-get.

Pero antes de instalar phpLDAPadmin, debe tener el servidor web Apache y PHP instalados y en ejecución. Si no es así, instálelo usando el siguiente comando.

$ sudo apt-get install apache2 php5 php5-mysql

A continuación, instale el paquete "phpldapadmin" como se muestra a continuación.

$ sudo apt-get install phpldapadmin

De la misma manera que configuramos el archivo ldap.conf, necesitamos configurar los archivos de configuración de la interfaz web phpldapadmin antes de usarlo. Ejecute el siguiente comando para abrir el archivo phpldapadmin config.php.

$ sudo nano /etc/phpldapadmin/config.php

Todo lo que necesita hacer es reemplazar los nombres de dominio con sus propios valores. La parte de configuración necesaria para este caso se encuentra en la sección "Definir sus servidores LDAP".

$servers = new Datastore();
$servers->newServer('ldap_pla'); 
$servers->setValue('server','name','Tecmint LDAP Server');
$servers->setValue('server','host','127.0.0.1'); 
$servers->setValue('server','base',array('dc=tecmint123,dc=com'));
$servers->setValue('login','bind_id','cn=admin,dc=tecmint123,dc=com');

Una vez que haya terminado de editar el archivo de configuración config.php, abra una pestaña en su navegador web y tpye la URL "http:/ip_address_here/phpldapadmin". Ingrese sus credenciales de inicio de sesión de ldap y haga clic en iniciar sesión.

Enlaces de referencia

  1. OpenLDAP Homepage
  2. phpLDAPadmin Homepage