Windows+OpenLDAP+MySQL配置及使用详解(一)——基础配置

因为工作原因,需要在windows操作系统下,搭建openldap+mysql工具平台。曾经尝试在网上搜索相关的文章,但是openldap与DBMS连接的内容非常少,在windows操作系统下配置和使用的资料更是少之又少。所以只好查阅了许多零碎的参考资料,摸索了几天,终于折腾成功。在这里把详细的过程记录下来,希望能帮助有需要的朋友。
一、准备工作:
1、 安装好OpenLDAP:
我使用的是openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.exe,网上很多地方提供下载,在windows下如何安装的文章也很多。
先安装配置好LDAP,确认能够正常使用。
2、 安装好MySQL:
我使用的是5.1.35版本。应该5.0版本以上都没问题。
3、 从openldap官网下载源码包,里面有需要用到的测试数据和配置样例。最好是与安装你安装的OpenLDAP版本一致。本文下载的是openldap-2.2.29.tgz。解压缩至本地目录。
二、部署:
现在开始正式部署。
1、 安装MYSQL的ODBC驱动:下载驱动程序,安装即可(本文使用的是MyODBC-3.51.11-2-win.exe)。
2、 创建数据库:
1) 创建一个空数据库;
2) 在下载的源码包中找到servers\slapd\back-sql\rdbms_depend\mysql目录,在MYSQL客户端依次运行该目录下的个SQL脚本文件: testdb_create.sql
testdb_data.sql
backsql_create.sql //只有这个脚本里的内容是必须的,其他脚本里的都是测试数据。第一次配置时还是全部执行。
testdb_metadata.sql

3、 创建一个可操作以上数据库的账户,并设置密码。
4、 创建ODBC数据源,连接到以上数据库。(开始菜单-->设置-->控制面板-->管理工具-->数据源(ODBC),详细的就不介绍了)。
5、 修改ldap安装目录下的slapd.conf文件,将配置文件中BDB配置相关的代码全部删除掉(就是从“database bdb”语句到最后的内容),添加以下代码: #######################################################################
# sql database definitions
#######################################################################
database sql
suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"
rootpw pwd
dbname ldap //数据源名称,不是数据库名称。
dbuser user //数据库用户帐号
dbpasswd userpwd //数据库用户密码
subtree_cond "ldap_entries.dn LIKE CONCAT('%',?)"
insentry_query "INSERT INTO ldap_entries (dn,oc_map_id,parent,keyval) VALUES (?,?,?,?)"
lastmod off
has_ldapinfo_dn_ru no
upper_func "upper"
strcast_func "CONCAT"
concat_pattern "?||?"

6、 我这样配置之后,无法启动windows下的openldap服务,但是能通过在命令行窗口输入命令:"slapd –d 1"来启动服务。问题出在哪里还没搞清楚,暂时先通过命令行来启动服务吧。
7、 启动服务后,在命令行窗口输入以下命令,如果能看到测试数据的内容,则表示配置成功: ldapsearch -LLL -s sub -b "dc=example,dc=com" "(objectClass=*)"

imageWindows+OpenLDAP+MySQL配置及使用详解(一)——基础配置
大功告成,说明OpenLDAP已经能够读取数据库里的测试数据。
下一篇文章将会介绍如何通过数据库存储OpenLDAP的数据,以及如何通过OpenLDAP客户端来更新数据库的数据。
Tags: 

延伸阅读

最新评论

发表评论