安装OpenLDAP
# LDAP服务
sudo yum install openldap-servers -y
# LDAP客户端工具
sudo yum install openldap-clients -y
# LDAP Web图形管理工具
sudo yum install phpldapadmin -y
创建数据库配置文件
sudo cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
sudo chown ldap:ldap /var/lib/ldap/DB_CONFIG
启动OpenLDAP服务
sudo service slapd start
设置OpenLDAP管理员密码
生成密码
slappasswd
# 本次生成的密码是:{SSHA}X7PlixfT9wt50BCszy+rdM/2+nGnppsa
编写LDIF文件
vim chrootpw.ldif
# 添加的内容如下
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}X7PlixfT9wt50BCszy+rdM/2+nGnppsa # 使用上一步生成的密码
执行LDIF文件
ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif
导入预设Schema
find /etc/openldap/schema/ -name "*.ldif" -exec ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f {} \;
新建根节点
生成数据库管理员密码
slappasswd
# 本次生成的密码是:{SSHA}UTCEulZl1hTz/5bqQdg0OxwVJtLmEhJh
编写LDIF文件
想好一个域名,这里使用的是:test.com数据库管理员dn: cn=manager,dc=test,dc=com
vim chdomain.ldif
# 添加的内容如下
dn: olcDatabase={2}bdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=test,dc=com #你自己的域名
dn: olcDatabase={2}bdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=manager,dc=test,dc=com #你的数据库管理员dn
dn: olcDatabase={2}bdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}UTCEulZl1hTz/5bqQdg0OxwVJtLmEhJh #你的数据库管理员密码
执行LDIF文件
ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif
添加用户和用户组
编写LDIF文件
vim basedomain.ldif
# 添加的内容如下
dn: dc=test,dc=com #你自己的域名
objectClass: top
objectClass: dcObject
objectclass: organization
o: root_ldap
dc: test #修改test为自己域名第一个点左边的内容
dn: cn=manager,dc=test,dc=com #对应数据库管理员
objectClass: organizationalRole
cn: manager
description: Directory Manager
dn: ou=people,dc=test,dc=com #一个用户组
objectClass: organizationalUnit
ou: people
dn: ou=group,dc=test,dc=com #另一个用户组
objectClass: organizationalUnit
ou: group
执行 LDIF 文件
ldapadd -x -D cn=manager,dc=test,dc=com -W -f basedomain.ldif
配置phpLDAPadmin
修改apache配置文件
# vim /etc/httpd/conf.d/phpldapadmin.conf
# 修改后内容如下
<Directory /usr/share/phpldapadmin/htdocs>
<IfModule mod_authz_core.c>
# Apache 2.4
Require local
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Allow from all #为了让其他机子可以访问,将Deny改为Allow
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
启动apache服务
sudo service httpd start
修改phpldpdadmin配置文件
vim /etc/phpldapadmin/config.php
# 在末尾添加
# 使用dn登录
$servers->setValue('login','attr','dn');
使用数据库管理员登录
web访问/phplapadmin,使用管理员dncn=manager,dc=test,dc=com登录
登录后可以看到之前创建的entry