Hola a tod@s
En este post veremos como instalar OpenLDAP y phpLDAPadmin, que es un software de código abierto que se utiliza para administrar de manera remota servidores LDAP por medio de una interfaz web gráfica escrita en PHP.
OpenLDAP es una implementación de open-source del Lightweight Directory Access Protocol (LDAP), que proporciona una forma de administrar y acceder a la información del directorio, lo que lo hace particularmente útil para la autenticación y el almacenamiento centralizado de datos.
Requisitos previos
- Servidor Ubuntu 24.04
- Registro DNS para nuestro servidor
- Credenciales de root del servidor
Etapa 1: Establecer el nombre de host
En el servidor Ubuntu que usaré para este laboratorio configuraré el nombre de host que es esencial para la identificación, la facilidad de acceso, la seguridad y la administración general.
$ sudo hostnamectl set-hostname ldap.witcherit.local
A continuación, agregué este nombre de host a su archivo /etc/hosts:
$ echo “10.10.10.158 ldap.witcherit.local” | sudo tee -a /etc/hosts

Nota: reemplazamos el nombre y la IP con sus respectivos datos.
Etapa 2: Instalación del servidor OpenLDAP
Primero actualizamos nuestro repositorio e instalamos OpenLDAP con el siguiente comando:
$ sudo apt update
$ sudo apt install slapd ldap-utils

Durante la instalación, tendremos que establecer una contraseña de administrador para nuestro servidor OpenLDAP. Tenemos que recordar esta contraseña, ya que la usaremos en pasos más adelante.

Si queremos comprobar el status de OpenLDAP, podemos verlo con el siguiente comando:
$ systemctl status slapd
Etapa 3: Configurar el servidor OpenLDAP
Para poder configurar nuestro servidor OpenLDAP, tenemos que editar el archivo ubicado en el directorio /etc/ldap. Editamos el archivo con nuestro editor favorito.
$ sudo nano /etc/ldap/ldap.conf
Dentro del archivo tenemos que buscar las líneas:
- BASE
- URI

Descomentamos las líneas “BASE / URI” y las configuramos con nuestro nombre de dominio y dirección IP.
BASE dc=witcherit,dc=local
URI ldap://ldap.witcherit.local ldap://ldap.witcherit.local:666
Debería quedar algo similar al imagen. Guardamos los cambios y cerramos el editor.

Ejecutamos el siguiente comando para volver a reconfigurar el paquete de LDAP:
$ sudo dpkg-reconfigure slapd
Apenas ejecutemos el comando se nos abrirá un setup que requerirá que configuremos determinados parámetros que veremos a continuación.
En la primera opción, seleccionamos “No“, lo que nos permite configurar el servidor LDAP de acuerdo a nuestros requisitos y no usar los parámetros por defecto.

Configuramos nuestro nombre de dominio para el servidor LDAP. Este punto es importante que este configurado correctamente.

El campo “Organization name” se utiliza para identificar nuestra organización dentro del directorio LDAP.

Configuramos una password robusta para el Adminsitrator. Estas credenciales son fundamentales para las tareas administrativas de nuestro OpenLDAP.

La opción “removed when slapd is purget” significa que sus datos no se eliminarán automáticamente, lo cual es útil si planea reinstalar o actualizar sin perder sus datos de directorio existentes.

La opción “Move old database” permite al instalador mover los archivos de base de datos existentes a una nueva ubicación, lo que garantiza una configuración limpia para nuestra configuración.

Etapa: Instalar y configurar phpLDAPadmin
Ahora, instalemos phpLDAPadmin, que proporciona una interfaz web para administrar nuestro servidor OpenLDAP.
phpLDAPadmin es un software de código abierto que se utiliza para administrar de manera remota servidores LDAP por medio de una interfaz web gráfica escrita en PHP. Esta herramienta permite gestionar servidores desde cualquier lugar con acceso a internet.
$ sudo apt install phpldapadmin -y
Después de instalar phpLDAPadmin, es necesario configurarlo para que podamos conectarlo a nuestro servidor OpenLDAP. Para esto editaremos el archivo “config.php” dentro del directorio /etc/phpldapadmin.
$ sudo nano /etc/phpldapadmin/config.php
Dentro del archivo deberemos identificar las siguientes líneas que tendremos que modificar con nuestros datos:
$servers->setValue(‘server’,’name’,’My LDAP Server’);
$servers->setValue(‘server’,’host’,’127.0.0.1′);
$servers->;setValue(‘server’,’base’,array(‘dc=example,dc=com’));

Modificamos según nuestros parámetros:
$servers->setValue(‘server’,’name’,’LDAP Server Linux‘); –> Sera el nombre de nuestro servidor LDAP.
$servers->setValue(‘server’,’host’,’10.10.10.158‘); –> Sera la dirección IP de nuestro servidor LDAP
$servers->;setValue(‘server’,’base’,array(‘dc=witcherit=local‘)); –> Configuramos nuestro DN base
Debería quedar algo similar a la imagen siguiente:

Aun nos quedan dos parámetros más que configurar, por lo cual, nos identificamos dentro del archivo y los configuramos con nuestros datos:
$servers->setValue(‘login’,’auth_type’,’session’);
$servers->setValue(‘login’,’bind_id’,’cn=admin,dc=example,dc=com’);

Modificamos según nuestros parámetros:
$servers->setValue(‘login’,’auth_type’,’session‘); –> Dejamos por defecto.
$servers->setValue(‘login’,’bind_id’,’cn=admin,dc=witcherit,dc=local‘); –> Configuramos el usuario con cual nos vamos a conectar.
Debería quedar algo similar a la imagen a continuación:

Guardamos los cambios y salimos del editor.
Etapa 5: Configurar Apache para phpLDAPadmin
El archivo de configuración por defecto de phpLDAPadmin para Apache se encuentra en /etc/apache2/conf-available/phpldapadmin.conf. No realizaremos ningún cambio y seguiremos con la configuración por defecto.
A continuación, desactivaremos el archivo de configuración del virtual host de Apache que está por defecto y reiniciamos el servicio de Apache para aplicar los cambios con los comandos:
$ a2dissite 000-default.conf
$ systemctl restart apache2

Etapa 6: Acceder a la interfaz web de phpLDAPadmin
Ahora que todo está configurado, podemos acceder a phpLDAPadmin a través de nuestro navegador web favorito.
http://your-server-ip/phpldapadmin
Se nos pedirá que iniciemos sesión con nuestras credenciales como se muestra en la imagen:
Login DN:
[cn=admin,dc=yourdomain,dc=com]
Password: [admin password]

Si al abrir nuestro directorio nos aparecen mensajes como los de la imagen, no es un problema grave.

Si en caso que quieran borrar estos mensajes, lo podemos hacer editando nuevamente el archivo: /etc/phpldapadmin/config.php
$ sudo nano /etc/phpldapadmin/config.php
Dentro del archivo buscamos la siguiente línea:
// $config->custom->appearance [´hide_template_warning´] = false;

Lo dejamos de la siguiente manera y guardamos los cambios.
$config->custom->appearance [´hide_template_warning´] = true;

Volvemos a ingresar a nuestro phpLDAPadmin y los mensajes ya no estarán.

Ahora ya podemos continuar con la gestión de nuestro servidor LDAP y realizar varias tareas, como añadir unidades organizativas, grupos y usuarios con la interfaz web de phpLDAPadmin de manera mucho más simple a través de la interfaz web phpLDAPadmin.
Espero que esta información pueda ser de ayuda, y cualquier duda o sugerencia la dejan en los comentarios. Saludos.