LDAP(二)之安装部署

2019-08-09  本文已影响0人  frederickhou

Docker安装LDAP

安装LDAP分Server端和Client端两部分的安装部署
Server端参考地址: https://github.com/osixia/docker-openldap
Client端参考地址: https://github.com/osixia/docker-phpLDAPadmin

Server端OpenLDAP安装

拉取镜像

docker pull osixia/openldap:1.2.4

运行镜像

docker run -p 389:389 -p 636:636 --name my-openldap-container --detach osixia/openldap:1.2.4

本命令是ldap会默认创建一个admin用户,默认密码也是admin.
也通过环境变量设置 LDAP 服务器的参数:

LDAP_ORGANISATION: Organisation name. Defaults to Example Inc.
LDAP_DOMAIN: Ldap domain. Defaults to example.org
LDAP_BASE_DN: Ldap base DN. If empty automatically set from LDAP_DOMAIN value. Defaults to (empty)
LDAP_ADMIN_PASSWORD Ldap Admin password. Defaults to admin
LDAP_CONFIG_PASSWORD Ldap Config password. Defaults to config
LDAP_READONLY_USER Add a read only user. Defaults to false
LDAP_READONLY_USER_USERNAME Read only user username. Defaults to readonly
LDAP_READONLY_USER_PASSWORD Read only user password. Defaults to readonly
LDAP_RFC2307BIS_SCHEMA Use rfc2307bis schema instead of nis schema. Defaults to false

例子:

docker run --env LDAP_ORGANISATION="My Company" --env LDAP_DOMAIN="my-company.com" \
--env LDAP_ADMIN_PASSWORD="JonSn0w" --detach osixia/openldap:1.2.4

LDAP查询命令

通过ldapsearchldapaddldapdeleteldapmodify等参数查询、新增、删除、修改内容信息。如下所示命令是对ldap进行一次查询

docker exec my-openldap-container ldapsearch -x -H ldap://localhost -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w admin

正常输出结果如下所示:

# extended LDIF
#
# LDAPv3
# base <dc=example,dc=org> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# example.org
dn: dc=example,dc=org
objectClass: top
objectClass: dcObject
objectClass: organization
o: Example Inc.
dc: example

# admin, example.org
dn: cn=admin,dc=example,dc=org
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: e1NTSEF9Q3BkSlF6UUtzUjlOa29waktxWmdrNHBsdVZSMExWUE4=

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

数据文件和配置文件外置安装方式介绍

Client端PHPLdapAdmin安装

拉取镜像

docker pull osixia/phpldapadmin:0.8.0

运行镜像

docker run -p 8888:443 \
        --env PHPLDAPADMIN_LDAP_HOSTS=192.168.2.138 \
        --detach osixia/phpldapadmin:0.8.0

客户端界面

安装成功后输入https://ip:8888 进入页面如下图所示:

ldap3.jpg

登录成功后界面

LogingDN(默认):

cn=admin,dc=example,dc=org

Password(默认):

admin
ldap4.jpg
问题

可能会出现连接LDAP服务端失败或者用户名密码错误。

解决方案

由于LDAP Server访问是389端口号,需要将389端口加入到防火墙白名单里面。执行如下命名:

cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak.$(date "+%Y%m%d%H%M%S");

sed -i '/.*--dport 22 -j ACCEPT.*/a\-A INPUT -p tcp -m state --state NEW -m tcp --dport 389 -j ACCEPT' /etc/sysconfig/iptables;

systemctl restart iptables;systemctl enable iptables

博客著作权归本作者所有,任何形式的转载都请联系作者获得授权并注明出处。

上一篇 下一篇

猜你喜欢

热点阅读