(转)openLDAP在windows上的安装配置

转自:http://blog.csdn.net/tch918/article/details/38025087

[一]、概述

现有的关系型数据库存在的问题是,在操作数据过程中,需要频繁的进行数据类型的验证和事务的完整性的确认

,导致系统整体的性能降低。

 

目录服务的推出主要是解决上述数据库中存在的问题。目录的数据类型主要是字符型,而不是关系数据库提供的整数、浮点数、日期、货币等类型,它主要面向数据的查询服务(查询和修改操作比一般是大于10:1),一般不支持通用数据库中针对大量更新操作需要的事务回滚(rollback)机制,它的数据修改使用简单的锁定机制实现All-or-Nothing,它的目标是快速响应和大容量查询并且提供多目录服务器的信息复制功能。

 

[]、和关系型数据库对比

LDAP目录中的信息是是按照树型结构组织,具体信息存储在条目(entry)的数据结构中。条目相当于关系数据库中表

的记录;条目是具有区别名DN(Distinguished Name)的属性(Attribute),DN是用来引用条目的,DN相当于关系

数据库表中的关键字(PrimaryKey)。属性由类型(Type)和一个或多个值(Values)组成,相当于关系数据库中的

字段(Field)由字段名和数据类型组成,只是为了方便检索的需要,LDAP中的Type可以有多个Value,而不是关系数

据库中为降低数据的冗余性要求实现的各个域必须是不相关的。LDAP中条目的组织一般按照地理位置和组织关系进

行组织,非常的直观。LDAP把数据存放在文件中,为提高效率可以使用基于索引的文件数据库,而不是关系数据

库。

 

[三]、安装过程

openLDAP  下载地址http://www.userbooster.de/download/openldap-for-windows.aspx 

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

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

 

 

[四]、配置启动

 

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

编辑文件:D:\ProgramFiles (x86)\OpenLDAP\slapd.conf 找到如下内容:

suffix      "dc=maxcrc,dc=com"

rootdn      "cn=Manager,dc=maxcrc,dc=com"

修改成:

suffix      "dc=micmiu,dc=com"

rootdn      "cn=Manager,dc=micmiu,dc=com"

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

 

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

 

[html]  view plain  copy
 
  1. dn:dc=micmiu,dc=com  
  2. objectclass: domain  
  3. objectclass: top  
  4. o: Michael Blog  
  5. dc: micmiu  
  6. dn:ou=Developer,dc=micmiu,dc=com  
  7. objectclass: organizationalUnit  
  8. ou: Developer  
  9. description: Container for developer entries  
  10. dn:ou=Tester,dc=micmiu,dc=com  
  11. objectclass: organizationalUnit  
  12. ou: Tester  
  13. description: Container for test entries  
  14. dn:uid=Michael,ou=Developer,dc=micmiu,dc=com  
  15. uid: Michael  
  16. objectClass: inetOrgPerson  
  17. mail: [email protected]  
  18. userPassword: 111111  
  19. labeledURI: http://www.micmiu.com  
  20. sn: Sun  
  21. cn: Michael Sun  
  22. dn:uid=Miumiu,ou=Tester,dc=micmiu,dc=com  
  23. uid: Miumiu  
  24. objectClass: inetOrgPerson  
  25. userPassword: 111111  
  26. labeledURI: http://www.micmiu.com  
  27. sn: Wu  
  28. cn: Miumiu Wu  

 

 

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

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

ldapadd -x -D "cn=Manager,dc=micmiu,dc=com" -w secret -f ./mydemo.ldif

参数说明:

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

 

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

slapadd -v -l ./mydemo.ldif

 

ldapadd 和slapadd 的差异:

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

 

 

[五]、客户端介绍

 

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

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

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

建立好connect后,可以正确查询到之前添加的相关信息。

 

 

 

 

 

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

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

 

[html]  view plain  copy
 
  1. dn:dc=app1,dc=micmiu,dc=com  
  2. objectclass: domain  
  3. o: Michael Demo  
  4. dc: app1  
  5. dn:dc=app2,dc=micmiu,dc=com  
  6. objectclass: domain  
  7. o: Michael Demo  
  8. dc: app2  
  9. dn:ou=Demo,dc=app1,dc=micmiu,dc=com  
  10. objectclass: organizationalUnit  
  11. ou: Developer  
  12. description: Container for Demo entries  
  13. dn:ou=Demo,dc=app2,dc=micmiu,dc=com  
  14. objectclass: organizationalUnit  
  15. ou: Developer  
  16. description: Container for Demo entries  
  17. dn:uid=michael,ou=Demo,dc=app1,dc=micmiu,dc=com  
  18. uid: admin  
  19. objectClass: inetOrgPerson  
  20. mail: [email protected]  
  21. userPassword: 111111  
  22. labeledURI: http://www.micmiu.com  
  23. sn: Sun  
  24. cn:        Michael Sun  
  25. dn:uid=hazel,ou=Demo,dc=app1,dc=micmiu,dc=com  
  26. uid: user  
  27. objectClass: inetOrgPerson  
  28. userPassword: 111111  
  29. labeledURI: http://www.micmiu.com  
  30. sn: Wu  
  31. cn:        Hazel Wu  
  32. dn:uid=michael,ou=Demo,dc=app2,dc=micmiu,dc=com  
  33. uid: admin  
  34. objectClass: inetOrgPerson  
  35. mail: [email protected]  
  36. userPassword: 111111  
  37. labeledURI: http://www.micmiu.com  
  38. sn: Sun  
  39. cn:        Michael Sun  
  40. dn:uid=hazel,ou=Demo,dc=app2,dc=micmiu,dc=com  
  41. uid: user  
  42. objectClass: inetOrgPerson  
  43. userPassword: 111111  
  44. labeledURI: http://www.micmiu.com  
  45. sn: Wu  
  46. cn:        Hazel Wu  



 

 

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

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

ldapadd-x -D "cn=Manager,dc=micmiu,dc=com" -w secret -f ./myappuser.ldif

 

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

猜你喜欢

转载自jameskaron.iteye.com/blog/2350728