🚧Gestión gráfica de LDAP

PHPLDAPadmin

Empezaremos por phpldapadmin ya que si estás aprendiendo LDAP o quieres algo simple y directo, como verás. Este nos ofrece:

  • 🧰 SW ligero y simple: una interfaz web sencilla para administrar entradas LDAP.

  • 🧠 Requiere conocimiento de la estructura del árbol LDAP: tú gestionas directamente DNs, atributos, clases de objetos, etc.

  • 🧑‍💻 Ideal para administradores con experiencia que quieren control detallado del directorio.

  • 📦 Instalación fácil (como ya estás haciendo).

  • ❌ No tiene funciones avanzadas como gestión de políticas, plantillas, integración completa con Samba, etc.

Instalación y configuración

Obviamente como requisitos previos a esta practica requerimos tener configurado:

  • Un servidor LDAP ya instalado y funcionando (como slapd).

  • Acceso root o privilegios sudo en el servidor.

  • Un servidor web (como Apache).

  • PHP instalado (aunque lo he puesto en el primer paso por si acaso).

Ahora, vamos con la instalación y configuración de phpLDAPadmin, una herramienta web muy útil para gestionar gráficamente nuestro servidor LDAP.

Paso 1. Instalar Apache, PHP y phpLDAPadmin

Para ejecutar este deberemos usar apache como servidor web y php como framework de lenguaje:

sudo apt update
sudo apt install apache2 php php-xml php-mbstring phpldapadmin -y

Paso 2. Configurar phpLDAPadmin

Editamos el archivo de configuración principal:

sudo nano /etc/phpldapadmin/config.php

Busca y modifica las siguientes líneas, las encontrarás todas bastante juntas:

1. Configurar el nombre del servidor LDAP:

Cambia el título si quieres personalizarlo:

$servers->setValue('server','name','Servidor LDAP IFP');

2. Configurar el host del servidor LDAP (localhost si está en la misma máquina):

$servers->setValue('server','host','127.0.0.1');

O cambia por la IP del servidor si está en otro equipo.

3. Establecer el DN base (tu dominio LDAP):

$servers->setValue('server','base',array('dc=ifp,dc=local'));

4. Permitir inicio de sesión como DN completo:

$servers->setValue('login','bind_id','cn=admin,dc=ifp,dc=local');

Paso 3. Habilitar el acceso desde fuera (opcional pero recomendable)

En muchas instalaciones, el acceso a phpLDAPadmin está restringido por defecto. Para permitir acceso desde otros equipos:

sudo nano /etc/apache2/conf-enabled/phpldapadmin.conf

Cambia esta sección:

<Directory /usr/share/phpldapadmin/htdocs>
    Require all granted
</Directory>

Luego reinicia Apache:

sudo systemctl restart apache2

Paso 4: Acceder a phpLDAPadmin

Abre un navegador desde la máquina ubuntu cliente o haciendo redirección de puertos en virtualbox y visita:

http://20.0.0.5/phpldapadmin
# o
http://ldapserver.ifp.local/phpldapadmin
Desde la máquina cliente por navegador

Ahora inicia sesión

  • Login DN: cn=admin,dc=ifp,dc=local

  • Password: la contraseña que configuraste para el usuario admin durante la instalación de slapd.

Ya podemos ver la estructura de directorios mucho mejor.

Ya lo tienes todo listo!


Funcionamiento de phpldapadmin

Qué puedes hacer con phpLDAPadmin:

  • Crear, modificar y borrar usuarios y grupos LDAP.

  • Ver la jerarquía de entradas.

  • Importar/exportar entradas LDIF.

  • Cambiar contraseñas.

  • Asignar pertenencias a grupos.


FusionDirectory

Ahora bien, si ya tenemos LDAP bien montado y queremos automatizar la gestión o integrarlo con otros servicios (Samba, correo, etc.), FusionDirectory es una excelente opción, este nos ofrece:

  • 🎯 SW diseñado como una solución completa de gestión de identidades basada en LDAP.

  • 🧙 Tiene un enfoque modular y más automatizado. Puedes gestionar:

    • Usuarios, grupos, correos electrónicos

    • Ordenadores y servidores

    • Políticas de contraseña

    • Recursos (impresoras, aulas, etc.)

    • Samba, DHCP, DNS, etc. si lo integras

  • 🧩 Viene con plantillas y asistentes, por lo que no necesitas tocar directamente DN ni objetos complejos.

  • 👥 Muy útil para escuelas, empresas u organizaciones que usan LDAP como centro de autenticación.

  • 📚 Más complejo de instalar y configurar que phpLDAPadmin.

  • 🎛️ Puede sustituir completamente a phpLDAPadmin si lo configuras bien.

Instalación y configuración

Seguimos con los requisitos previos, en este caso antes de comenzar, asegúrate de tener:

  • OpenLDAP funcionando correctamente.

  • Servidor con Ubuntu actualizado.

  • Acceso root o con sudo.

  • Servidor web (Apache) y PHP instalados.

  • slapd y ldap-utils funcionando.

  • Base LDAP como dc=ifp,dc=local.


Paso 1. Añadir el repositorio de FusionDirectory

Primero, instalaremos las dependencias necesarias:

sudo apt update
sudo apt install curl gnupg2 ca-certificates lsb-release -y

Luego añade la clave GPG y el repositorio oficial de FusionDirectory:

curl -fsSL https://repos.fusiondirectory.org/fusiondirectory.asc | gpg --dearmor | sudo tee /usr/share/keyrings/fusiondirectory-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/fusiondirectory-archive-keyring.gpg] https://repos.fusiondirectory.org/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/fusiondirectory.list

Actualiza los repos de nuevo:

sudo apt update

Paso 2. Instalar FusionDirectory y dependencias

sudo apt install fusiondirectory fusiondirectory-schema fusiondirectory-plugins-all -y

Este comando instalará:

  • La interfaz web de FusionDirectory.

  • Esquemas extra para LDAP.

  • Todos los plugins disponibles (puedes quitar los que no uses luego).

Paso 3: Aplicar los esquemas LDAP de FusionDirectory

Para que funcione correctamente, FusionDirectory necesita que ciertos esquemas estén activos en tu servidor LDAP:

sudo fusiondirectory-insert-schema -i /etc/ldap/schema/fusiondirectory/core-fusiondirectory.schema

Paso 4. Configurar Apache

FusionDirectory debería crear automáticamente una configuración en Apache. Verifica que esté habilitada:

sudo a2enconf fusiondirectory
sudo systemctl reload apache2

Paso 5. Acceder a la interfaz web de instalación

Abre tu navegador y accede a:

http://20.0.0.5/fusiondirectory/setup

Paso 6. Asistente de instalación web

Sigue estos pasos en la interfaz web:

1. LDAP parameters

  • Base DN: dc=ifp,dc=local

  • Bind DN: cn=admin,dc=ifp,dc=local

  • Password: contraseña de tu usuario admin

Haz clic en “Connect” para comprobar que se conecta correctamente.

2. FusionDirectory settings

  • Define el nombre de la organización, correo del admin, etc.

3. Choose plugins

  • Marca los módulos que quieras usar (puedes activarlos/desactivarlos después).

    • people, groups, systems, services, etc.

4. Finish setup

  • Guarda los ajustes y se generará la configuración.

Después de terminar, ya puedes acceder a FusionDirectory con la ruta:

http://IP_DEL_SERVIDOR/fusiondirectory/

Y usa las credenciales LDAP:

  • Usuario: cn=admin,dc=ifp,dc=local

  • Contraseña: la misma que para ldapsearch o phpldapadmin


🧪 ¿Qué puedes hacer con FusionDirectory?

✅ Gestionar usuarios y grupos con asistentes gráficos ✅ Añadir equipos, políticas, roles ✅ Integrar Samba, DNS, DHCP, correo, etc. ✅ Automatizar tareas administrativas ✅ Controlar atributos de LDAP sin tocar directamente los DN

Última actualización