摘要
OpenLdap可以提供强大的集中账号管理和授权,但其强大的功能依赖多个插件的集成,为方便OpenLdap的编译和部署,我便制作了一个docker 镜像,并通过本文记录该镜像的使用方法。
文档环境
本文档中代码的测试环境
OpenLdap Docker 部署
获取镜像
docker pull nginxbar/ldapsso:0.1
容器启动
docker run -p 389:389 -p 636:636 --name ldapsso --detach nginxbar/ldapsso:0.1
自定义ldap域
镜像默认的ldap域是nginxbar,根域是dc=nginxbar,dc=com,自定义域可用如下方式修改
docker run -p 389:389 -p 636:636 \
-e DOMAIN=ldapsso \
-e BASE_DN=dc=ldapsso,dc=com \
--name ldapsso --detach nginxbar/ldapsso:0.1
修改管理员及密码
通过环境变量 ADMIN 及 CONFIG_PASS 修改管理员账号及密码
docker run -p 389:389 -p 636:636 \
-e ADMIN=superadmin \
-e CONFIG_PASS=admin \
--name ldapsso --detach nginxbar/ldapsso:0.1
AD 域集成
镜像已经配置好AD 集成的环境,在使用时,只需配置好AD域的相关参数即可。
docker run -p 389:389 -p 636:636 \
-e AD_SERVER=xxx.xxx.xxx.xxx \
-e AD_BASE_DN=DC=office,DC=nginxbar,dc=com \
-e AD_BIND_DN=CN=admin,CN=Users,DC=office,DC=nginxbar,dc=com \
-e AD_PASSWD=abcdefg --detach nginxbar/ldapsso:0.1
密码修改
镜像集成了一个自修改密码的web程序,通过8080端口直接访问。
docker run -p 389:389 -p 636:636 -p 8080:8080 --name ldapsso --detach nginxbar/ldapsso:0.1
docker-compose 脚本
version: '3.3'
services:
ldapsso:
hostname: ldapsso
image: nginxbar/ldapsso:0.1
container_name: ldapsso
ports:
- 389:389
- 636:636
- 8080:8080
environment:
- HOSTNAME=localhost
- LOG_LEVEL=256
- ADMIN=root
- CONFIG_PASS=admin
- DOMAIN=ldapsso
- BASE_DN=dc=ldapsso,dc=com
- AD_SERVER=xxx.xxx.xxx.xxx
- AD_BASE_DN=DC=office,DC=nginxbar,DC=com
- AD_BIND_DN=CN=admin,CN=Users,DC=office,DC=nginxbar,dc=com
- AD_PASSWD=abcdefg
参考文档