我使用的系统是RedHat AS3,本来系统是直接带OpenLDAP,但是大家最好不要用系统带的那个,DN会无法帮定,到底是什么原因,我暂时也说不明白。
(1)去http://www.openldap.org/software/download/下载最新的OpenLDAP
(2)tar -zxvf openldap.tar.gz 然后cd openldap
(3)./configure --disbale-db --enable-lbdm(在编译这一步,如果不使用--disbale-db,会提示你需要Bekerl DB,发现系统已经安装了DB。。我也不明白,为何提示你还要安装,所以我把他禁止了。LDAP数据库类型用lbdm)
(3) make depend; make
(4)make test(这步也可以不需要)
(5)make install
这样OpenLDAP就安装完成。下面我们要配置我们的OpenLDAP!
(1)首先我们要停止系统本身的OpenLDAP /etc/rc.d/init.d/ldap stop
(2)然后配置/usr/local/etc/openldap/slapd.conf
database bdb
suffix "dc=<MY-DOMAIN>,dc=<COM>"
rootdn "cn=Manager,dc=<MY-DOMAIN>,dc=<COM>"
rootpw secret
directory /usr/local/var/openldap-data
为:
database lbdm(数据库类型)
suffix "dc=example,dc=com"
rootdn "cn=Manager,dc=example,dc=com" (设置DN)
rootpw secret (设置密码)
directory /usr/local/var/openldap-data
(3)启动OpenLDAP
/usr/local/libexec/slapd
(4)我们使用下面这个命令测试
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
如果返回
dn:
namingContexts: dc=example,dc=com
代表LDAP启动正确
(5)创建LDIF文件,添加数据
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: Example Company
dc: example
dn: cn=Manager,dc=example,dc=com
objectclass: organizationalRole
cn: Manager
使用下面命令添加数据文件
ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f example.ldif
(6)测试添加的数据文件是否正确
ldapsearch -x -b 'dc=example,dc=com' '(objectclass=*)'
如果有返回数据代表配置成功!
这样你的OpenLDAP就配置成功了。
注意:
创建LDIF文件容易输入错误,大家输入的时候要注意。
大家可以到http://sourceforge.net/project/showfiles.php?group_id=61828&package_id=58284&release_id=204829
下载一个叫phpldapadmin的软件,这个软件是基于PHP,这样LDAP就非常容易配置了。
我只有在REDHAT AS3配置LDAP的时候回出现DN无法绑定。