OpenLDAP es una implementación de software libre del protocolo LDAP (Lightweight Directory Access Protocol), que se utiliza para gestionar y acceder a servicios de directorio de manera centralizada. En este artículo, te mostraremos cómo instalar y configurar OpenLDAP en Fedora 39 paso a paso. Este tutorial está diseñado para ser técnico pero accesible para los recién llegados.
Requisitos Previos
Antes de comenzar, asegúrate de tener lo siguiente:
- Un sistema Fedora 39 instalado.
- Acceso a una cuenta con privilegios de superusuario (root) o acceso a
sudo
.
Paso 1: Actualizar el Sistema
Primero, asegúrate de que tu sistema esté actualizado. Abre una terminal y ejecuta los siguientes comandos:
sudo dnf update -y
Paso 2: Instalar OpenLDAP
Instala el servidor OpenLDAP y las herramientas de cliente necesarias con el siguiente comando:
sudo dnf install openldap-servers openldap-clients -y
Paso 3: Configurar OpenLDAP
Configurar el Directorio de la Base de Datos
Crea el directorio para la base de datos de OpenLDAP y establece los permisos adecuados:
sudo mkdir -p /var/lib/ldap
sudo chown -R ldap:ldap /var/lib/ldap
Configurar el Archivo de Contraseña
Genera una contraseña segura para el usuario admin
de LDAP. Usa el siguiente comando para generar una contraseña cifrada:
sudo slappasswd
Copia la contraseña cifrada, ya que la necesitarás para la configuración.
Configurar el Archivo DB_CONFIG
Copia el archivo de configuración de la base de datos DB_CONFIG
de ejemplo al directorio de la base de datos de OpenLDAP:
sudo cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
sudo chown ldap:ldap /var/lib/ldap/DB_CONFIG
Iniciar y Habilitar el Servicio OpenLDAP
Inicia el servicio de OpenLDAP y habilítalo para que se ejecute automáticamente al iniciar el sistema:
sudo systemctl start slapd
sudo systemctl enable slapd
Paso 4: Configurar el DIT (Directory Information Tree)
Añadir el Esquema
Para añadir un esquema a OpenLDAP, utiliza el siguiente comando:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
Configurar la Base de Datos
Crea un archivo de configuración para la base de datos, por ejemplo db.ldif
:
nano db.ldif
Añade el siguiente contenido, reemplazando dc=example,dc=com
con tu propio dominio y contraseña_cifrada
con la contraseña cifrada generada anteriormente:
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=admin,dc=example,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: contraseña_cifrada
Aplica la configuración:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif
Crear el Contenido Inicial del DIT
Crea un archivo base.ldif
con el siguiente contenido para definir la estructura básica del DIT:
nano base.ldif
Añade el siguiente contenido:
dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: Example Organization
dc: example
dn: cn=admin,dc=example,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: contraseña_cifrada
Aplica la configuración:
sudo ldapadd -x -D cn=admin,dc=example,dc=com -W -f base.ldif
Introduce la contraseña de administrador cuando se te solicite.
Paso 5: Verificar la Configuración de OpenLDAP
Para verificar que OpenLDAP está funcionando correctamente, usa el siguiente comando para buscar en el directorio:
ldapsearch -x -LLL -b dc=example,dc=com
Deberías ver la estructura de tu DIT en la salida del comando.
Paso 6: Configurar el Firewall
Si tienes un firewall habilitado, necesitas permitir el tráfico LDAP en los puertos 389 (LDAP) y 636 (LDAPS). Usa firewalld
para gestionar las reglas del firewall:
sudo firewall-cmd --permanent --add-port=389/tcp
sudo firewall-cmd --permanent --add-port=636/tcp
sudo firewall-cmd --reload
Paso 7: Administrar OpenLDAP
Añadir Usuarios
Para añadir usuarios, crea un archivo user.ldif
con el siguiente contenido:
nano user.ldif
Añade el siguiente contenido, ajustando según sea necesario:
dn: uid=jdoe,ou=users,dc=example,dc=com
objectClass: inetOrgPerson
uid: jdoe
sn: Doe
cn: John Doe
userPassword: contraseña_usuario
Aplica la configuración:
sudo ldapadd -x -D cn=admin,dc=example,dc=com -W -f user.ldif
Modificar Entradas
Para modificar una entrada existente, crea un archivo modify.ldif
con los cambios necesarios:
nano modify.ldif
Añade el siguiente contenido:
dn: uid=jdoe,ou=users,dc=example,dc=com
changetype: modify
replace: mail
mail: jdoe@example.com
Aplica la modificación:
sudo ldapmodify -x -D cn=admin,dc=example,dc=com -W -f modify.ldif
Eliminar Entradas
Para eliminar una entrada, usa el siguiente comando:
sudo ldapdelete -x -D cn=admin,dc=example,dc=com -W uid=jdoe,ou=users,dc=example,dc=com
Para mejorar el rendimiento y la gestión de tus servicios de directorio con OpenLDAP, considera utilizar los servicios de Shape.host. Ofrecen soluciones de Linux SSD VPS que proporcionan escalabilidad, alta disponibilidad y un rendimiento superior para tus aplicaciones y servicios de directorio. Con Shape.host, puedes asegurarte de que tu infraestructura esté siempre disponible y funcionando de manera óptima.