本文为转载,未整理。

LDAP服务器用于统一认证账户信息,有点类似通讯录,实现集中管理用户账户的功能。系统为CentOS6.3。

一、安装openldap
yum install openldap*

二、配置openldap
安装完openldap后我们看到在/etc/openldap目录下有certs、schema、slapd.d三个目录和ldap.conf一个文件。
1)certs目录用于存放TLS认证的CA证书等。
2)(该目录用于旧的配置方法,已废弃)schema目录下有.schema文件和.ldif文件。
3)slapd.d目录是openldap2.4.x的配置目录。/etc/openldap/slapd.d/cn=config存放数据库的配置文件,/etc/openldap/slapd.d/cn=config/cn=schema存放.ldif文件。
4)ldap.conf是openldap client的配置文件。

1、
首先生成管理员密码:

slappasswd

输完两遍密码后会生成一个加密散列字符串,保存下来。
如:

{SSHA}JiW3WU7jREOTOMZKT6CklgJZriLIj738

2、
编辑数据库配置文件,设置域名:

vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif

找到:

olcSuffix: dc=my-domain,dc=com

修改dc:

olcSuffix: dc=ldap,dc=live-in,dc=org

设置目录树后缀(域名),作用是定义根的名字。

找到:

olcRootDN: cn=Manager,dc=my-domain,dc=com

修改dc:

olcRootDN: cn=admin,dc=ldap,dc=live-in,dc=org

设置管理员DN。
PS:LDAP管理员cn默认为Manager,可以改成自己需要的名字。

在olcDatabase={2}bdb.ldif最后添加:

olcRootPW: {SSHA}JiW3WU7jREOTOMZKT6CklgJZriLIj738

设置管理员密码。

3、
指定监控权限:

vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif

找到:

dn.base="cn=manager,dc=my-domain,dc=com"

修改为:

dn.base="cn=admin,dc=ldap,dc=live-in,dc=org"

修改默认域名。

4、
设置Database Cache:

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

设置权限:

chown -R ldap:ldap /var/lib/ldap/

测试配置文件是否有错:

slaptest -u

提示:

config file testing succeeded

测试通过。

启动slapd服务:

service slapd start

六、配置phpldapadmin
1、编辑phpldapadmin配置文件

vim /var/www/html/phpldapadmin/config/config.php

找到"Define your LDAP servers in this section"区块。

将:

$servers->setValue('server','host','127.0.0.1');
$servers->setValue('server','port',389);

前的注释去掉。

将:

$servers->setValue('server','base',array(''));

修改为:

$servers->setValue('server','base',array('dc=ldap,dc=live-in,dc=org'));

在array中输入设置的olcSuffix。

将:

$servers->setValue('login','auth_type','session');

前的注释去掉。

2、
设置用户和组:

chown -R apache:apache /var/www/html/phpldapadmin

3、
浏览器访问:http://IP/phpldapadmin/index.php
使用RootDN和RootPW登陆:
cn=admin,dc=ldap,dc=live-in,dc=org
123456

此时左侧目录树会显示:This base cannot be created with PLA.

3、添加根节点

cd /etc/openldap
vim base.ldif

输入:

dn: dc=ldap,dc=live-in,dc=org
o: ldap
objectclass: dcObject
objectclass: organization

添加数据库:

ldapadd -f base.ldif -x -D cn=admin,dc=ldap,dc=live-in,dc=org -W

输入密码后会提示:

adding new entry "dc=ldap,dc=live-in,dc=org"

在浏览器里刷新一下条目就会显示出根节点。