在一个组织中,为了简化各种内部系统的账号和密码的管理,往往就需要ldap来进行管理了。

对于ldap的实现方式也非常多,但在免费的开源系统中,openldap是ldap的首选系统。

docker下快速部署openldap与PHPLdapAdmin_docker

同时,在这一切讲究快速的时代,采用docker来进行openldap的部署,也是一个很好的选择。

在这里,我们来一起学习体验一下。

安装环境

  • docker

此文中对于docker的安装过程略过,网上一搜一大把。

openldap部署

openldap的官网为:​​https://www.openldap.org​

docker下快速部署openldap与PHPLdapAdmin_运维_02

好大一条毛毛虫~

对于OpenLDAP镜像的选择,这里用了保险起见选择dockerhub中下载量最多的镜像

docker下快速部署openldap与PHPLdapAdmin_docker_03

目前它的最新版本仍为1.5.0(2年前更新的)

在docker中执行如下命令:

docker run -dit --name openldap \
--restart=always \
-p 389:389 -p 636:636 \
-e LDAP_ORGANISATION="haiyang" \
-e LDAP_DOMAIN="haiyang.com" \
-e LDAP_ADMIN_PASSWORD="123456" \
osixia/openldap:1.5.0

其中389和636端口分别为openldap的非加密与加密端口,类似于http和https的80和443端口。

如果对ldap的了解不多的话,可以理解为ldap是一棵树。

docker下快速部署openldap与PHPLdapAdmin_openldap_04

LDAP_ORGANISATION参数设置的顶级树根名称

LDAP_DOMAIN也一般设置为顶级机构的域名,一般为公司域名

LDAP_ADMIN_PASSWORD为这颗树的默认管理用户admin的密码

执行后用docker logs命令看一下日志。

docker下快速部署openldap与PHPLdapAdmin_openldap_05

没有挂。OpenLDAP这就部署完毕了。

openldap控制台部署

通过上面的步骤完成了对OpenLDAP安装。接下来就可以对ldap用默认账户和咱们设置的密码进行登录测试了。
OpenLDAP的管理工具也非常众多,如客户端版本的ldapadmin

docker下快速部署openldap与PHPLdapAdmin_ldap_06

也有灵活方便的在线web版本的PHPLdapAdmin。

docker下快速部署openldap与PHPLdapAdmin_openldap_07

咱们这里为了普适性,也选择PHPLdapAdmin作为OpenLDAP的控制台来进行部署。

其dockerhub中下载量最多的docker版本为osixia/phpldapadmin版本,其详细说明为:

​docker-phpLDAPadmin​

在docker输入此命令启动

docker run -p 6443:443 \
--env PHPLDAPADMIN_LDAP_HOSTS=192.168.1.7 \
--detach osixia/phpldapadmin:0.9.0

其中PHPLDAPADMIN_LDAP_HOSTS为OpenLDAP服务部署的ip,可以为域名或者ip。

6443端口为映射出来的访问phpLDAPadmin的https端口。

执行后,看一下日志。

docker下快速部署openldap与PHPLdapAdmin_运维_08

依旧没有问题,很好。

之后在浏览器中进行登录测试一下。

由于docker里所在ip为192.168.1.7,所映射端口为6443,直接访问

​https://192.168.1.7:6443​

docker下快速部署openldap与PHPLdapAdmin_openldap_09

点击login。
其中的DN输入可以admin用户所对应的DN。
如上面安装时所对应的:

CN=admin,DC=haiyang,DC=com

密码也为安装时所对应的123456

docker下快速部署openldap与PHPLdapAdmin_容器_10

点击认证,就登录成功啦~

docker下快速部署openldap与PHPLdapAdmin_docker_11