在一个组织中,为了简化各种内部系统的账号和密码的管理,往往就需要ldap来进行管理了。
对于ldap的实现方式也非常多,但在免费的开源系统中,openldap是ldap的首选系统。
同时,在这一切讲究快速的时代,采用docker来进行openldap的部署,也是一个很好的选择。
在这里,我们来一起学习体验一下。
此文中对于docker的安装过程略过,网上一搜一大把。
openldap的官网为:https://www.openldap.org
好大一条毛毛虫~
对于OpenLDAP镜像的选择,这里用了保险起见选择dockerhub中下载量最多的镜像
目前它的最新版本仍为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是一棵树。
LDAP_ORGANISATION参数设置的顶级树根名称
LDAP_DOMAIN也一般设置为顶级机构的域名,一般为公司域名
LDAP_ADMIN_PASSWORD为这颗树的默认管理用户admin的密码
执行后用docker logs命令看一下日志。
没有挂。OpenLDAP这就部署完毕了。
通过上面的步骤完成了对OpenLDAP安装。接下来就可以对ldap用默认账户和咱们设置的密码进行登录测试了。
OpenLDAP的管理工具也非常众多,如客户端版本的ldapadmin
也有灵活方便的在线web版本的PHPLdapAdmin。
咱们这里为了普适性,也选择PHPLdapAdmin作为OpenLDAP的控制台来进行部署。
其dockerhub中下载量最多的docker版本为osixia/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里所在ip为192.168.1.7,所映射端口为6443,直接访问
https://192.168.1.7:6443
点击login。
其中的DN输入可以admin用户所对应的DN。
如上面安装时所对应的:
CN=admin,DC=haiyang,DC=com
密码也为安装时所对应的123456
点击认证,就登录成功啦~