LDAP安装配置(windows)

目录

概述
测试环境
安装过程
配置启动
客户端介绍
多级DC的ldif文件的配置

[一]、概述

什么叫LDAP呢,概念的东西这里就不多讲了,网上搜索下有很多,本文的重点是介绍如何在windows平台上安装和配置openLDAP软件。

openLDAP官方网站:http://www.openldap.org/

openLDAP官网只提供了Linux平台的相关安装文件,windows平台的安装包可以到以下一些网站下载:

http://www.userbooster.de/download/openldap-for-windows.aspx(本文所用的版本)
http://sourceforge.net/projects/openldapwindows/files/
http://sourceforge.jp/projects/openldapwin32/releases/

 

[二]、测试环境

window7 – 64位
openLDAP  版本:2.4.30 (http://www.userbooster.de/download/openldap-for-windows.aspx )

[三]、安装过程

按照提示 一直 next ,直到安装完成:

安装完成后,在系统服务中,找到 OpenLDAP Service,先停止服务,再把启动类型修改成手动,便于自己的测试。

[四]、配置启动

安装目录:D:Program Files (x86)OpenLDAP

编辑文件:D:Program Files (x86)OpenLDAPslapd.conf 找到如下内容:

 
 

1
2

suffix“dc=maxcrc,dc=com”
rootdn “cn=Manager,dc=maxcrc,dc=com”

修改成:

 
 

1
2

suffix“dc=micmiu,dc=com”
rootdn “cn=Manager,dc=micmiu,dc=com”

打开控制台,切换到openLDAP安装目录下,启动openLDAP,命令如下:

 
 

1

slapdd1

会在控制台看到类似如下的日志信息:

日志信息:slapd starting 表示服务已经启动好了。

新建一个文件:D:Program Files (x86)OpenLDAPmydemo.ldif ,内容如下:

 
 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

dn:dc=micmiu,dc=com
objectclass:domain
objectclass:top
o:Michael Blog
dc:micmiu
 
dn:ou=Developer,dc=micmiu,dc=com
objectclass:organizationalUnit
ou:Developer
description:Container fordeveloper entries
 
dn:ou=Tester,dc=micmiu,dc=com
objectclass:organizationalUnit
ou:Tester
description:Container fortest entries
 
dn:uid=Michael,ou=Developer,dc=micmiu,dc=com
uid:Michael
objectClass:inetOrgPerson
mail:sjsky_007@gmail.com
userPassword:111111
labeledURI:http://www.micmiu.com
sn:Sun
cn:Michael Sun
 
dn:uid=Miumiu,ou=Tester,dc=micmiu,dc=com
uid:Miumiu
objectClass:inetOrgPerson
userPassword:111111
labeledURI:http://www.micmiu.com
sn:Wu
cn:Miumiu Wu

tips:格式要严格,每行的开头和末尾不能有空格

然后在控制台中切换到openLDAP安装目录下执行ldapadd命令:

 
 

1

ldapaddxD“cn=Manager,dc=micmiu,dc=com”wsecret f./mydemo.ldif

参数说明:

-x 使用简单验证方式
-D 指定管理员DN(与slapd.conf中配置的一致)
-W 大写W表示回车后根据提示输入密码,可以使用小写的-w password 直接输入密码
-f 需要导入数据LDIF的文件名
-h 目录服务器的IP地址

添加成功会显示如下信息:

!!!有网友说:按照我上面的命令,提示:’ldapadd’ 不是内部或外部命令,也不是可运行的程序或批处理文件。经过我的验证发现,该windows版本的openLDAP确实没有这个命令,我能执行成功是因为本机安装过Oracle,而oracle自带安装了LDAP client的一些常用命令。

如果没有”ldapadd“这个命令,还可以用它自带的命令“slapadd”代替导入数据文件。不过要注意的是:和ldapadd命令不同的是:执行slapadd命令前需要先停止之前启动的 slapd 服务(打开服务确定停止了该服务),然后在控制台中切换到openLDAP安装目录下执行命令:

 
 

1

slapaddvl./mydemo.ldif

运行结果如下:

ldapadd 和 slapadd 的差异:

ldapadd 对本地和远程服务都可以操作,操作时LDAP服务是不能停止
slapadd 只能对本地的LDAP服务进行操作,操作时本地LDAP服务必须先停止

验证添加的信息,在控制台中,切换到%OpenLDAP_HOME%/ClientTools 输入查询命令:

 
 

1

ldapsearchxb“dc=micmiu,dc=com” “(objectclass=*)”

查询结果如下:

 
 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

D:ProgramFiles (x86)OpenLDAPClientTools>ldapsearchxb“dc=micmiu,dc=com” “(objectclas
s=*)”
dc=micmiu,dc=com
objectClass=domain
objectClass=top
o=MichaelBlog
dc=micmiu
 
ou=Developer,dc=micmiu,dc=com
objectClass=organizationalUnit
ou=Developer
description=Containerfor developerentries
 
ou=Tester,dc=micmiu,dc=com
objectClass=organizationalUnit
ou=Tester
description=Containerfor testentries
 
uid=Michael,ou=Developer,dc=micmiu,dc=com
uid=Michael
objectClass=inetOrgPerson
mail=sjsky_007@gmail.com
userPassword=111111
labeledURI=http://www.micmiu.com
sn=Sun
cn=MichaelSun
 
uid=Miumiu,ou=Tester,dc=micmiu,dc=com
uid=Miumiu
objectClass=inetOrgPerson
userPassword=111111
labeledURI=http://www.micmiu.com
sn=Wu
cn=MiumiuWu

验证成功。

[五]、客户端介绍

网上搜索到一个客户端:LdapBrowser282  附件提供相关下载:LdapBrowser282.zip

下载解压后直接双击:lbe.bat 文件即可运行。


点击上图中的 Fetch DNs 按钮会自动获取相关的DN信息的。

上面的输入的密码就是之前安装过程中的那个密码(如果自己没有修改过)

可以正确查询到之前添加的相关信息。

[六]、多级DC的ldif文件的配置

在实际应用中我们经常会碰到二级域名,类似:app1.micmiu.com、app2.micmiu.com,那么对应到LDAP中的DC就是多级,这时我们ldif文件又是如何配置呢?下面将给出个示例演示,新建一个文件:D:Program
Files (x86)OpenLDAPmyappuser.ldif ,内容如下:

 
 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

dn:dc=app1,dc=micmiu,dc=com
objectclass:domain
o:Michael Demo
dc:app1
 
dn:dc=app2,dc=micmiu,dc=com
objectclass:domain
o:Michael Demo
dc:app2
 
dn:ou=Demo,dc=app1,dc=micmiu,dc=com
objectclass:organizationalUnit
ou:Developer
description:Container forDemo entries
 
dn:ou=Demo,dc=app2,dc=micmiu,dc=com
objectclass:organizationalUnit
ou:Developer
description:Container forDemo entries
 
dn:uid=michael,ou=Demo,dc=app1,dc=micmiu,dc=com
uid:admin
objectClass:inetOrgPerson
mail:sjsky_007@gmail.com
userPassword:111111
labeledURI:http://www.micmiu.com
sn:Sun
cn:Michael Sun
 
dn:uid=hazel,ou=Demo,dc=app1,dc=micmiu,dc=com
uid:user
objectClass:inetOrgPerson
userPassword:111111
labeledURI:http://www.micmiu.com
sn:Wu
cn:Hazel Wu
 
dn:uid=michael,ou=Demo,dc=app2,dc=micmiu,dc=com
uid:admin
objectClass:inetOrgPerson
mail:sjsky_007@gmail.com
userPassword:111111
labeledURI:http://www.micmiu.com
sn:Sun
cn:Michael Sun
 
dn:uid=hazel,ou=Demo,dc=app2,dc=micmiu,dc=com
uid:user
objectClass:inetOrgPerson
userPassword:111111
labeledURI:http://www.micmiu.com
sn:Wu
cn:Hazel Wu

tips:注意dc的对应关系,如下图:

然后在控制台窗口中执行ldapadd命令:

 
 

1

ldapaddxD“cn=Manager,dc=micmiu,dc=com”wsecret f./myappuser.ldif

添加成功会显示如下信息:

如果 ldapadd 命令无法运行,先停止slapd 服务,然后在控制台中切换到openLDAP安装目录下执行命令:

 
 

1

slapaddvl./myappuser.ldif

客户端工具中可以查询到相关信息:

ok,本文到此已经基本介绍完了,以后再详细介绍如何用Java实现对LDAP的相关操作。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注