Cómo instalar OpenLDAP en Ubuntu 22.04
OpenLDAP es una implementación de software del Protocolo Ligero de Acceso a Directorios (LDAP). OpenLDAP es un software libre y de código abierto que cuenta con su propia licencia de tipo BSD, llamada OpenLDAP Public License. Su software LDAP de línea de comandos está disponible en la mayoría de las distribuciones de Linux, como CentOS, Ubuntu, Debian, SUSE y muchas más. OpenLDAP es un conjunto completo de software para servidores LDAP, que incluye SLAPD (demonio LDAP independiente), SLURPD (demonio de replicación de actualizaciones LDAP independiente), y algunas utilidades y herramientas para gestionar servidores LDAP. OpenLDAP es un servidor LDAP altamente personalizable y compatible con las principales plataformas informáticas.
LDAP Account Manager o LAM es una aplicación web escrita en PHP para gestionar usuarios, grupos y configuraciones DHCP almacenadas en un servidor LDAP. LAM proporciona una forma sencilla de gestionar servidores LDAP desde el navegador web. El LAM está diseñado para personas con poca experiencia técnica en la gestión de datos LDAP. El LAM está disponible en dos versiones diferentes, la versión Lite, que es gratuita, y la versión con licencia comercial.
Esta guía te enseñará a configurar el servidor LDAP con OpenLDAP y el Gestor de Cuentas LDAP en el servidor Ubuntu 22.04. Esta guía también enseñará cómo configurar los usuarios LDAP y cómo configurar un Gestor de Cuentas LDAP para gestionar el servidor OpenLDAP.
Requisitos previos
Antes de empezar con esta guía, debes tener los siguientes requisitos previos:
- Un servidor Ubuntu 22.04
- Un usuario no root con privilegios de root/administrador.
Configurar el FQDN (Nombre de Dominio Completamente Cualificado)
Antes de comenzar la instalación del servidor OpenLDAP, debes asegurarte de que la configuración del FQDN (nombre de dominio totalmente cualificado) para el servidor OpenLDAP es correcta. En esta demostración, configuraremos un servidor OpenLDAP con el nombre de host del servidor«ldap» y el dominio«localdomain.com«, y con la dirección IP«192.168.5.25«.
Ejecuta el siguiente comando para configurar el FQDN a «ldap.dominiolocal.com».
sudo hostnamectl set-hostname ldap.localdomain.com
Edita el archivo de configuración «/etc/hosts » con el siguiente comando.
sudo nano /etc/hosts
Añade la siguiente configuración al archivo. El formato del archivo » /etc/hosts » es aquí«servidor-IP fqdn nombrehost«.
192.168.5.25 ldap.localdomain.com ldap
Guarda y cierra el archivo cuando hayas terminado.
Por último, ejecuta el siguiente comando para comprobar y verificar el FQDN de tu servidor LDAP. En esta demostración, deberías obtener una salida como«ldap.localdomain.com«. Además, si intentas hacer ping al nombre de host«ldap«, deberías obtener la respuesta de la dirección IP del servidor«192.168.5.25» en lugar de localhost.
sudo hostname -f
ping ldap
Instalar los paquetes de OpenLDAP
Después de tener el FQDN correcto, es el momento de instalar los paquetes de OpenLDAP que están disponibles por defecto en el repositorio de Ubuntu.
Antes de empezar a instalar los paquetes, ejecuta el siguiente comando apt para actualizar y refrescar el repositorio de tu sistema Ubuntu.
sudo apt update
Ahora instala los paquetes de OpenLDAP con el siguiente comando. Introduce Y para confirmar la instalación y pulsa ENTER, y la instalación comenzará.
sudo apt install slapd ldap-utils
Durante la instalación de los paquetes de OpenLDAP, se te pedirá que configures la contraseña de administrador para OpenLDAP. Introduce la contraseña fuerte para el usuario administrador de OpenLDAP y selecciona«Aceptar«, luego repite la contraseña. Y la instalación de OpenLDAP se habrá completado.
Configurar el servidor OpenLDAP
Para empezar a configurar el servidor OpenLDAP, ejecuta el siguiente comando. Este comando reconfigurará el paquete principal de OpenLDAP «slapd» y se te pedirán algunas de las configuraciones básicas de OpenLDAP.
sudo dpkg-reconfigure slapd
Cuando te pregunte«¿Omitir la configuración del servidor OpenLDAP?«, selecciona«No». De este modo, se configurará el servidor OpenLDAP con un nuevo archivo de configuración y una nueva base de datos.
Introduce el nombre de dominio de tu instalación de OpenLDAP y selecciona «Aceptar«. Este nombre de dominio se utilizará como DN (Nombre Distinguido) de tu servidor OpenLDAP. En esta demostración, el nombre de dominio es «localdomain.com«, por lo que el DN será«dc=localdomain,dc=com«.
Introduce el nombre de la organización que se utilizará dentro del DN. Puedes utilizar el dominio para ello, pero también puedes utilizar otro nombre.
Ahora introduce la contraseña de administrador de tu servidor OpenLDAP y repite la contraseña. Asegúrate también de que la contraseña es correcta.
Cuando te pidan que elimines la antigua base de datos, selecciona «No«.
Ahora selecciona «Sí» para mover la antigua base de datos OpenLDAP, y la configuración de OpenLDAP habrá terminado.
A continuación se muestra la salida cuando la configuración de OpenLDAP ha finalizado.
Después de reconfigurar el paquete«slapd«, edita el archivo de configuración«/etc/ldap/ldap.conf» utilizando el siguiente comando.
sudo nano /etc/ldap/ldap.conf
Descomenta la línea «BASE» y «URI» e introduce el nombre de dominio de tu servidor OpenLDAP. En esta demostración, la«BASE» aquí es«dc=localdomain,dc=com» y el«URI» para el servidor OpenLDAP es«ldap://ldap.localdomain.com«.
BASE dc=localdomain,dc=com
URI ldap://ldap.localdomain.com
Guarda y cierra el archivo cuando hayas terminado.
Ahora ejecuta el siguiente comando para reiniciar el servicio OpenLDAP «slapd» y aplicar los nuevos cambios en el servidor OpenLDAP. El servidor OpenLDAP se ejecuta ahora con el DN base«dc=localdomain,dc=com«.
sudo systemctl restart slapd
sudo systemctl status slapd
Por último, ejecuta el siguiente comando para comprobar y verificar la configuración básica de OpenLDAP. Deberías obtener el DN base del servidor OpenLDAP como«dc=localdomain,dc=com».
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:///
Configurar el grupo base
Después de configurar el DN base (Nombre Distinguido) del servidor OpenLDAP, ahora vas a crear un nuevo grupo base de usuarios OpenLDAP. En esta demostración, crearás dos grupos base diferentes, el grupo llamado «Personas» para almacenar usuarios, y luego el grupo llamado «Grupos» para almacenar grupos en tu servidor OpenLDAP.
Para crear nuevos contenidos LDAP, como usuarios y grupos, puedes utilizar el archivo LDIF (LDAP Data Interchange Format) y la herramienta LDAP«ldapadd«.
Crea un nuevo archivo LDIF«base-groups.ldif» utilizando el siguiente comando.
sudo nano base-groups.ldif
Añade la siguiente configuración al archivo.
dn: ou=People,dc=localdomain,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Groups,dc=localdomain,dc=com
objectClass: organizationalUnit
ou: Groups
Ahora ejecuta el comando «ldapadd» que aparece a continuación para crear nuevos grupos base a través del archivo «base-groups.ldif». Se te pedirá la contraseña de administrador de OpenLDAP, así que asegúrate de introducir la contraseña correcta.
sudo ldapadd -x -D cn=admin,dc=localdomain,dc=com -W -f base-groups.ldif
Por último, ejecuta el siguiente comando para comprobar y verificar los grupos base de tu servidor OpenLDAP. Deberías ver dos grupos base disponibles ahora, el grupo llamado«Personas» y«Grupos«.
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:///
Añadir un nuevo grupo
Después de crear los grupos base en el servidor LDAP, ahora puedes crear un nuevo grupo y usuario LDAP. En esta sección, crearás un nuevo grupo a través del archivo LDIF.
Crea un nuevo archivo LDIF«group.ldif» utilizando el siguiente comando.
sudo nano group.ldif
Añade la siguiente configuración al archivo. En este ejemplo, crearemos un nuevo grupo con el nombre «desarrolladores», lo almacenaremos en el grupo base «Grupos» y definiremos el número gid«5000«.
dn: cn=developers,ou=Groups,dc=localdomain,dc=com
objectClass: posixGroup
cn: developers
gidNumber: 5000
Guarda y cierra el archivo cuando hayas terminado.
A continuación, ejecuta el comando«ldapadd» para añadir el nuevo grupo«desarrolladores». Y asegúrate de introducir la contraseña de administrador de tu servidor OpenLDAP.
sudo ldapadd -x -D cn=admin,dc=localdomain,dc=com -W -f group.ldif
Por último, ejecuta el siguiente comando para comprobar y verificar el grupo «desarrolladores«. Deberías obtener la salida del grupo «desarrolladores» que forma parte de«Grupos» y con el número gidNumber«5000«.
sudo ldapsearch -x -LLL -b dc=localdomain,dc=com '(cn=developers)' gidNumber
Añadir usuarios de OpenLDAP
Después de haber creado un grupo en el servidor OpenLDAP, es el momento de crear un usuario LDAP a través del archivo LDIF.
Antes de crear un nuevo usuario, ejecuta el siguiente comando para generar una contraseña cifrada para el nuevo usuario LDAP. Introduce la nueva contraseña y repite, luego copia la contraseña encriptada«{SSHA}ZdNAB+uH/zbK1mdS9JWlfOwRDf0mrsla«.
sudo slappasswd
Ahora crea un nuevo archivo LDIF «user.ldif» utilizando el siguiente comando.
sudo nano user.ldif
Añade la siguiente configuración al archivo. En esta demostración, crearemos un nuevo usuario«john» con el directorio principal por defecto «/home/john» y el shell por defecto«/bin/bash«. Además, puedes ver en la parte superior del archivo de configuración, que este usuario forma parte del grupo«Personas» y utiliza el número gidNumber«5000«.
dn: uid=john,ou=People,dc=localdomain,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: john
sn: Doe
givenName: John
cn: John Doe
displayName: John Doe
uidNumber: 10000
gidNumber: 5000
userPassword: {SSHA}ZdNAB+uH/zbK1mdS9JWlfOwRDf0mrsla
gecos: John Doe
loginShell: /bin/bash
homeDirectory: /home/john
Guarda y cierra el archivo cuando hayas terminado.
A continuación, ejecuta el comando«ldapadd» para añadir un nuevo usuario dentro del archivo«user.ldif«. Ahora introduce la contraseña de administrador del servidor OpenLDAP.
sudo ldapadd -x -D cn=admin,dc=localdomain,dc=com -W -f user.ldif
Por último, ejecuta el comando «ldapsearch» que aparece a continuación para comprobar y verificar el nuevo usuario LDAP. Y deberías tener el usuario«john» creado y disponible en el servidor OpenLDAP.
sudo ldapsearch -x -LLL -b dc=localdomain,dc=com '(uid=john)' cn uidNumber gidNumber
Instalar el gestor de cuentas LDAP
Llegados a este punto, has terminado la instalación básica de OpenLDAP. Ahora vas a instalar el Gestor de Cuentas LDAP en el mismo servidor que el de OpenLDAP. El Gestor de Cuentas LDAP (LAM) es una aplicación web que puede utilizarse como front-end del servidor OpenLDAP. Te permite gestionar el servidor OpenLDAP desde el navegador web, puedes configurar nuevos usuarios, grupos, etc. desde el navegador web.
El LAM está disponible por defecto en el repositorio de Ubuntu. Puedes instalarlo utilizando el comando apt que aparece a continuación. Esto instalará algunos otros paquetes incluyendo PHP y el servidor web Apache2.
Introduce Y para confirmar la instalación y pulsa ENTER para continuar. Y comenzará la instalación de LAM.
sudo apt install ldap-account-manager
Una vez completada la instalación, abre el navegador web y visita la dirección IP del servidor seguida de la ruta URL«/lam (es decir, http://192.168.5.25/lam). Y deberías obtener la página de inicio de sesión del Gestor de Cuentas LDAP (LAM).
Configurar el Gestor de Cuentas LDAP
Antes de empezar a gestionar tu servidor OpenLDAP desde la aplicación LAM, deberás configurar el perfil LAM para tu servidor OpenLDAP.
En la página de inicio de sesión de LAM, haz clic en el menú«Configuración de LAM» en la parte superior izquierda.
Ahora haz clic en «Editar perfiles de servidor» para configurar el perfil LAM para tu servidor OpenLDAP.
Cuando te pidan la contraseña, introduce la contraseña por defecto«lam» y haz clic en«Iniciar sesión«. El perfil por defecto del Gestor de Cuentas LDAP es«lam». Vas a editar este perfil por defecto para tu servidor OpenLDAP.
En la página «Ajustesgenerales«, verás algunos de los diferentes ajustes.
En la «Configuración delas herramientas«, introduce el DN(Nombre Distinguido) principal del servidor OpenLDAP. En esta demostración, el DN es«dc=localdomain,dc=com«.
En la sección «Configuración deseguridad«, selecciona el «método de inicio de sesión» como «Lista fija». A continuación, introduce los detalles de inicio de sesión para el servidor OpenLDAP. El usuario por defecto de OpenLDAP es «admin», por lo que el archivo debe ser así«cn=admin,dc=localdomain,dc=com«.
Por último, introduce una nueva contraseña en la sección «Perfil de la contraseña». Esto cambiará la contraseña por defecto del perfil «lam». A continuación, haz clic en el botón «Guardar» para aplicar los nuevos cambios.
Ahora serás redirigido a la página de inicio de sesión del Administrador de Cuentas LDAP. Vuelve a hacer clic en el menú «Configuración LAM» y edita el perfil por defecto«lam».
Ahora pasa a la página «Tipos de cuenta» para configurar el grupo por defecto del servidor OpenLDAP.
En la sección «Usuarios«, introduce el sufijo LDAP como«ou=People,dc=localdomain,dc=com«. En este ejemplo, todos los usuarios deben estar disponibles en«People«.
En la sección«Grupos«, introduce el sufijo LDAP como «ou=Grupos,dc=localdomain,dc=com». En este ejemplo, todos los grupos deben estar disponibles en el grupo base «Grupos«.
Ahora haz clic en el botón«Guardar» para guardar los cambios en el perfil por defecto«lam«.
En este punto, serás redirigido de nuevo a la página de inicio de sesión del Administrador de Cuentas LDAP. Como puedes ver, el nombre de usuario por defecto ha cambiado a«admin«. Introduce la contraseña de admin para tu contraseña de OpenLDAP y haz clic en«Iniciar sesión«. Y deberías obtener el panel de control de LAM.
En el menú «Usuarios«, deberías ver el usuario«john» que acabas de crear.
Mientras que en el menú «Grupos«, deberías ver el grupo«desarrolladores«.
Conclusión
¡Enhorabuena! Ya has instalado con éxito el servidor OpenLDAP con el gestor de cuentas LDAP (LAM) en el servidor Ubuntu 22.04. También has aprendido a configurar un grupo y un usuario de OpenLDAP. Por último, también has aprendido a configurar un perfil del Gestor de Cuentas LDAP para añadir el servidor OpenLDAP a la aplicación web LAM.