Skip to content

Centos7安装LDAP

LDAP:Lightweight Directory Access Protocol 轻型目录访问协议

LDAP安装与使用

安装与配置LDAP

  • 安装OpenLDAP
yum install -y openldap.x86_64 openldap-clients.x86_64 openldap-servers.x86_64 openldap-devel.x86_64 migrationtools.noarch compat-openldap.x86_64
  • 配置LDAP Server
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif
# 修改第8、9行,添加第10行
olcSuffix: dc=bloodzer0,dc=com
olcRootDN: cn=Manager,dc=bloodzer0,dc=com
olcRootPW: bloodzer0

ldap-1

  • 配置Monitoring Database
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif
# 修改第7行
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
 al,cn=auth" read by dn.base="cn=Manager,dc=bloodzer0,dc=com" read by * none

ldap-2

  • 配置LDAP数据库
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown -R ldap.ldap /var/lib/ldap/
  • 测试并启动服务
slaptest -u

ldap-3

  • 启动服务
# 启动之前记得关闭selinux
systemctl enable slapd.service
systemctl start slapd.service
  • 导入schemas
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/cosine.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/nis.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/collective.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/corba.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/core.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/duaconf.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/dyngroup.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/inetorgperson.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/java.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/misc.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/openldap.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/pmi.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/ppolicy.ldif
  • 配置basedomain文件
vim /usr/share/migrationtools/migrate_common.ph
# 修改第71、74、90行
$DEFAULT_MAIL_DOMAIN = "bloodzer0.com";
$DEFAULT_BASE = "dc=bloodzer0,dc=com";
$EXTENDED_SCHEMA = 1;

ldap-4

/usr/share/migrationtools/migrate_base.pl > /etc/openldap/basedomain.ldif
# 导入文件
ldapadd -x -D cn=Manager,dc=bloodzer0,dc=com -W -f /etc/openldap/basedomain.ldif
# 输入之前配置olcRootPW密码

ldap-5

安装phpldapadmin

  • 安装phpldapadmin
yum install epel-release -y
yum install phpldapadmin.noarch -y
systemctl enable httpd.service
systemctl start httpd.service
  • 修改配置
# 修改httpd配置
vim /etc/httpd/conf.d/phpldapadmin.conf
# 添加Require all granted
# 重启服务http服务
# 访问:http://10.10.10.5/phpldapadmin/cmd.php
# 此时是不能登录的

ldap-6

# 修改phpldapadmin配置
vim /etc/phpldapadmin/config.php
# 注释398,取消注释397

ldap-7

# 登录
# 用户名:cn=Manager,dc=bloodzer0,dc=com 密码:你设置的密码

ldap-8

踩坑

  • LDAP+phpldapadmin 是很麻烦的方式,推荐使用freeipa,下一篇文章将讲freeipa安装与使用。

参考资料

我花了一个五一终于搞懂了OpenLDAP