环境centos7
一、部署OpenLDAP
1、安装openLDAP
[root@ldapserver ~]# yum install -y openldap-servers openldap-clients migrationtools
[root@ldapserver ~]# slapd -VV #查看版本
@(#) $OpenLDAP: slapd 2.4.44 (Jan 29 2019 17:42:45) $
2、设置openldap管理员密码
[root@ldapserver ~]# slappasswd
New password: 123456
Re-enter new password: 123456
{SSHA}WtkaNTdtu/F/6c7UzRDKEoU+t/Jwd8wx #返回加密的密码字符串,保存这个字符串
3、更改openldap配置
注意:从OpenLDAP 2.4.x下已废弃slapd.conf文件,而配置文件被目录slapd.d所取代 。slapd.d目录内包含的ldif文件中的内容,就是slapd.conf中的内容转化成ldif格式,以构成一棵根为cn=config的目录树,这棵树包含了许多结点,如:cn=include, cn=schema, olcBackend=hdb……。所有配置信息就是这些结点的属性。
[root@ldapserver ~]# vim /etc/openldap/slapd.d/cn\=config\/olcDatabase\={2}hdb.ldif
olcSuffix: dc=mypaas,dc=com #找到olcSuffix,修改为你的dc
olcRootDN: cn=Manager,dc=mypaas,dc=com #找到olcRootDN, 修改为你的用户名
olcRootPW: {SSHA}WtkaNTdtu/F/6c7UzRDKEoU+t/Jwd8wx #在文件末尾添加此行,设置是刚才的密码
4、更改监控认证配置
[root@ldapserver ~]# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif
修改 olcAccess 行中的dn.base=”cn=xxxxxxx”这行为刚才设置的用户名,
如:dn.base=”cn=Manager,dc=mypaas,dc=com”
5、设置DB Cache
[root@ldapserver ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
[root@ldapserver ~]# chown -R ldap:ldap /var/lib/ldap/
6、测试配置文件
[root@ldapserver ~]# slaptest -u
5dee3c65 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
5dee3c65 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif"
config file testing succeeded #说明成功了
7、启动OpenLDAP和开机启动
systemctl start slapd.service
systemctl enable slapd.service
ss -tanlp |grep 389
二、部署LDAP管理工具PHPldapadmin
1、 安装httpd服务器
[root@ldapserver ~]# yum install httpd -y
2、修改配置文件httpd.conf
[root@ldapserver ~]# vim /etc/httpd/conf/httpd.conf
102 <Directory /phpldapadmin>
103 Options Indexes FollowSymLinks
104 AllowOverride None
105 </Directory>
3、安装phpldapadmin:
[root@ldapserver ~]# yum -y install epel-release
[root@ldapserver ~]# yum --enablerepo=epel -y install phpldapadmin
4、修改配置文件
[root@ldapserver ~]# vim /etc/phpldapadmin/config.php
找到并取消下面几行的注释:
298 $servers->setValue('server','host','127.0.0.1');
301 $servers->setValue('server','port',389);
305 $servers->setValue('server','base',array('dc=mypaas,dc=com')); #array里加上openldap配置文件中设置的olcSuffix
323 $servers->setValue('login','auth_type','session');
397 $servers->setValue('login','attr','dn');
398 //$servers->setValue('login','attr','uid'); #把此行注释掉
5、修改phpldapadmin访问配置文件
[root@ldapserver ~]# vim /etc/httpd/conf.d/phpldapadmin.conf
9 <IfModule mod_authz_core.c>
10 # Apache 2.4
11 # Require local
12 </IfModule>
6、创建基础目录
在/etc/openldap目录下新建base.ldif文件,并添加如下内容
[root@ldapserver ~]# cat /etc/openldap/base.ldif
dn: dc=mypaas,dc=com
o: ldap
objectclass: dcObject
objectclass: organization
dc: mypaas
7、访问web管理端
systemctl start httpd.service
访问 http://ip/phpldapadmin
登陆用户名:cn=Manager,dc=mypaas,dc=com
参考:https://www.cnblogs.com/chuangcc/p/12013571.html