OpenLDAP配置
本文实践了在 Windows 下安装配 openldap,并添加一个条目,LdapBrowser 浏览
1. 下载安装 openldap for windows,当前版本2.2.29
??? 下载地址:http://download.bergmans.us/openldap/openldap-2.2.29/openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.exe
??? 相关链接:http://lucas.bergmans.us/hacks/openldap/
?? 安装很简单,一路 next 即可,假设我们安装在 c:\openldap
2. 配置 openldap,编辑 slapd.conf 文件
?? 1) 打开 c:\openldap\slapd.conf,找到
??? include? ./schema/core.schema,在它后面添加
??? include? ./schema/cosine.schema
??? include? ./schema/inetorgperson.schema
??? 接下来的例子只需要用到以上三个 schema,当然,如果你觉得需要的话,你可以把其他的 schema 全部添加进来
??? include? ./schema/corba.schema
??? include? ./schema/dyngroup.schema
??? include? ./schema/java.schema
??? include? ./schema/misc.schema
??? include? ./schema/nis.schema
??? include? ./schema/openldap.schema
?? 2) 还是在 slapd.conf 文件中,找到
??? suffix? "dc=my-domain,dc=com"
??? rootdn? "cn=Manager,dc=my-domain,dc=com"
??? 把这两行改为
??? suffix "o=JNDITutorial"
??? rootdn "cn=Manager,o=JNDITutorial"
??? suffix 就是看自己如何定义了,我们用的o=JNDITutorial是oracle官方JNDI tutorial里的示例程序,http://download.oracle.com/javase/tutorial/jndi/software/content.html,里面找到tutorial.ldif并下载。
后面步骤的 ldif 文件就必须与它定义了。还要注意到这个配置文件中有一个 rootpw? secret,这个 secret 是 cn=Manager 的密码,以后会用到,不过这里是明文密码,你可以用命令: slappasswd -h {MD5} -s secret 算出加密的密码 {MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ== 取代配置中的 secret。
3. 启动 openldap
??? CMD 进入到 c:\openldap 下,运行命令 slapd -d 1
??? 用可以看到控制台下打印一片信息,openldap 默认是用的 Berkeley DB 数据库存储目录数据的。
??? 如果你安装时选择了安装 install OpenLDAP-slapd as NT service 服务,你可以在系统服务中启动 OpenLDAP Directory Service。
4. 建立条目,编辑导入 ldif 文件
?? 1) 新建一个 ldif(LDAP Data Interchanged Format) 文件(纯文本格式),我们直接用tutorial.ldif.
?? 2) 执行命令:ldapadd -x -D "cn=manager,o=JNDITutorial" -w secret -f tutorial.ldif
??? 导入信息
??? 你可以用 LdapBrower 来导入这个 ldif 文件。
5. LdapBrowser 浏览
可点击链接 http://www.blogjava.net/Files/Unmi/LdapBrowser282.rar 下载,其中已配置好了 OpenLdap_Localhost
?? 1) 设置如下图所示:
指定了 Host 为 localhost,端口389之后,可以点击 Fetch DNs 按钮显示出 o=JNDITutorial 来,如果要能在 LdapBrowser 中对数据能修改就不能用 Anonymous bind, 必须填上 User DN: cn=manager,o=JNDITutorial,Passwer: secret。
?? 2) 看到的效果是:
(原文参考自http://topinking.iteye.com/blog/223334)
?