容器化部署LDAP

容器化部署LDAP和PHP-LDAP-Admin可以帮助你在Docker环境中快速搭建和管理LDAP服务。

1. 部署OpenLDAP容器

password='123456'
docker run \
   -d -p 389:389 -p 636:636 \
   --name openldap \
   --restart=always \
   --hostname openldap \
   -v /data/docker_tmp/openldap/slapd/database:/var/lib/ldap \
   -v /data/docker_tmp/openldap/slapd/config:/etc/ldap/slapd.d \
   --env LDAP_ORGANISATION="ev5.top" \
   --env LDAP_DOMAIN="ev5.top" \
   --env LDAP_BASE_DN="dc=ev5,dc=top" \
   --env LDAP_ADMIN_PASSWORD=$password \
   registry.cn-beijing.aliyuncs.com/zygpubilc/openldap:2.4.57

解释:

  • -p 389:389:映射容器的389端口,提供LDAP的非加密访问。
  • -p 636:636:映射容器的636端口,提供SSL加密的LDAP访问。
  • --name openldap:容器名称设置为openldap
  • --restart=always:容器会在异常退出或主机重启后自动重启。
  • --hostname openldap:设置容器内部的主机名称为openldap
  • -v /data/docker_tmp/openldap/slapd/database:/var/lib/ldap:将LDAP数据持久化存储到本地主机的指定目录,确保容器重启或更新时数据不会丢失。
  • -v /data/docker_tmp/openldap/slapd/config:/etc/ldap/slapd.d:将LDAP配置文件持久化到本地,方便管理和备份配置。
  • --env LDAP_ORGANISATION="ev5.top":指定LDAP的组织名称,通常是公司的名称。
  • --env LDAP_DOMAIN="ev5.top":配置LDAP域名,作为LDAP目录树的顶端。
  • --env LDAP_BASE_DN="dc=ev5,dc=top":配置LDAP的基础DN,定义LDAP的目录结构根。
  • --env LDAP_ADMIN_PASSWORD=$password:设置管理员密码,密码可以通过环境变量传递,保持灵活性。

2. 部署PHP-LDAP-Admin容器

docker run \
  -p 8082:80 \
  --name ldapadmin \
  --link openldap:ldap \
  --env PHPLDAPADMIN_LDAP_HOSTS=ldap \
  --env PHPLDAPADMIN_HTTPS=false \
  --detach registry.cn-beijing.aliyuncs.com/zygpubilc/phpldapadmin:0.8.0

解释:

  • -p 8082:80:映射容器的80端口到主机的8082端口,通过浏览器访问http://<主机IP>:8082管理LDAP。
  • --name ldapadmin:将容器命名为ldapadmin
  • --link openldap:ldap:通过Docker的--link参数,将ldapadmin容器连接到openldap容器,使得ldapadmin可以通过ldap名称访问LDAP服务。
  • --env PHPLDAPADMIN_LDAP_HOSTS=ldap:设置phpLDAPadmin连接的LDAP服务器主机名为ldap,即上面openldap容器。
  • --env PHPLDAPADMIN_HTTPS=false:禁用HTTPS,方便测试环境下的使用。
  • --detach:后台运行容器。

访问与管理

  1. 启动完容器后,可以通过LDAP客户端或phpLDAPadmin管理界面对LDAP进行管理。
  2. 打开浏览器,访问http://<主机IP>:8082,进入phpLDAPadmin界面,使用cn=admin,dc=ev5,dc=top和管理员密码登录管理LDAP。
posted @ 2024-09-16 17:30  &UnstopPable  阅读(49)  评论(0编辑  收藏  举报