8 - Tutoriales
Cómo instalar y configurar OpenLDAP en un contenedor Docker con PhpLDAPadmin
Crear un nuevo directorio en la máquina donde desea almacenar los archivos de configuración para el servidor LDAP.
Dentro del directorio recién creado, crear un nuevo archivo llamado docker-compose.yml.
Copiar el siguiente código en el archivo docker-compose.yml , verificar que no existan errores como espacios o tabulaciones innecesarias.
version: "3.8"
services:
openldap:
image: osixia/openldap:latest
container_name: openldap
hostname: openldap
ports:
- "389:389"
- "636:636"
volumes:
- ./data/certificates:/container/service/slapd/assets/certs
- ./data/slapd/database:/var/lib/ldap
- ./data/slapd/config:/etc/ldap/slapd.d
environment:
- LDAP_ORGANISATION=ciber
- LDAP_DOMAIN=ciber.com
- LDAP_ADMIN_USERNAME=admin
- LDAP_ADMIN_PASSWORD=admin_pass
- LDAP_CONFIG_PASSWORD=config_pass
- "LDAP_BASE_DN=dc=ciber,dc=com"
- LDAP_TLS_CRT_FILENAME=server.crt
- LDAP_TLS_KEY_FILENAME=server.key
- LDAP_TLS_CA_CRT_FILENAME=ciber.com.ca.crt
- LDAP_READONLY_USER=true
- LDAP_READONLY_USER_USERNAME=user-ro
- LDAP_READONLY_USER_PASSWORD=ro_pass
networks:
- openldap
phpldapadmin:
image: osixia/phpldapadmin:latest
container_name: phpldapadmin
hostname: phpldapadmin
ports:
- "80:80"
environment:
- PHPLDAPADMIN_LDAP_HOSTS=openldap
- PHPLDAPADMIN_HTTPS=false
depends_on:
- openldap
networks:
- openldap
networks:
openldap:
driver: bridge
Guardar el archivo y ejecutar el siguiente comando en el terminal dentro del directorio donde creó el archivo docker-compose.yml.
docker-compose up -d
Comprobar que los contenedores estan funcionando correctamente con el comando:
docker ps -a
Aparecera en pantalla una información similar a la siguiente:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
534a117e5942 osixia/phpldapadmin:latest "/container/tool/run" 16 seconds ago Up 13 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 443/tcp phpldapadmin
2cdb376b833d osixia/openldap:latest "/container/tool/run" 18 seconds ago Up 15 seconds 0.0.0.0:389->389/tcp, :::389->389/tcp, 0.0.0.0:636->636/tcp, :::636->636/tcp openldap
Una vez que los contenedores estén en funcionamiento, para acceder a la interfaz web phpLDAPadmin, abrir un navegador web e introducir la siguiente URL.
http://localhost
Para iniciar sesión, introducir cn=admin,dc=ciber,dc=com como nombre de usuario y admin_pass como contraseña.
Después de iniciar sesión, puede comenzar a administrar el servidor LDAP mediante la interfaz de phpLDAPadmin.
Para finalizar la ejecución de los contenedores ejecutar el siguiente comando en el terminal dentro del directorio donde creó el archivo docker-compose.yml.
docker-compose down
Acceder al contenedor openldap:
docker-compose exec openldap bash
Puede utilizar ldapsearch
para verificar nuestro usuario:
//
O podemos usar ldapwhoami
:
//
Recursos
- https://github.com/wheelybird/ldap-user-manager
- https://computingforgeeks.com/run-openldap-server-in-docker-containers/
- https://www.digitalocean.com/community/tutorials/understanding-the-ldap-protocol-data-hierarchy-and-entry-components
- https://scytalelabs.com/2023/01/10/setup-and-configure-openldap-using-docker-image-on-ubuntu-16-04/
- https://devopsideas.com/openldap-tutorial-practical-realtime-implemetnation-and-integration/
- https://www.techrepublic.com/article/how-to-populate-an-ldap-server-with-users-and-groups-via-phpldapadmin/
- https://old-demo.phpldapadmin.org/
- https://demo.phpldapadmin.org/