如何配置 OpenLDAP 以使用 MySQL (Ubuntu 9.04)?

Nic*_*ick 5 mysql openldap ldap

我的目的是将客户联系信息的 MySQL 表作为地址簿(通过 LDAP)提供给 Outlook/Thunderbird 客户端。

我知道 OpenLDAP 有一个 MySQL 后端选项,但我找不到任何关于如何配置它的清晰、可靠的文档。

我需要设置哪些 OpenLDAP 选项,我应该去哪里设置它们?

我正在运行 Ubuntu 9.04。

更新

我已经设置了 ODBC 文件,并将测试数据导入到数据库中,但仍然不知道如何配置 slapd 以使用数据库。在某处,在某些配置文件中,我不得不说“slapd,使用名为‘LDAP2MySQL’的 ODBC 资源”。但是哪里?如何?

另一个更新

我无处可去:

Ubuntu 包版本毕竟没有 SQL 支持,所以我将其删除,并尝试从源代码安装。

我认为它安装没问题,但是“make test”产生错误“比较失败。./scripts/test003-search failed (exit 1)”。

无论如何,我做了一个“make install”,因为谷歌似乎没有任何关于如何解决“比较失败”问题的解释。

现在我什至不能开始愚蠢的事情。“/etc/init.d/slapd start”,与 Ubuntu 的包一起工作,不起作用。openLDAP 手册说“/usr/local/libexec/slapd”是启动它的命令。...但该命令不产生任何输出。我什至不知道它是否正在运行。我放弃。

另一个更新

好的,我运行了“top | grep slapd”但我什么也没得到,所以我想它没有运行。但没有错误信息。所以呢?我必须猜测为什么它不会启动?

更新

我已经重新安装了操作系统,并从头开始。现在我什至不能 ./configure openldap 因为它找不到 db.h。安装了包“db4.7-util”。我越努力使这项工作成功,它的效果就越差。我不敢相信没有人知道如何做到这一点。

更新

我刚刚从源代码安装了 BerkeleyDB,但 OpenLDAP 编译器仍然说:

    检查 db.h... 没有
    配置:错误:BDB/HDB:BerkeleyDB 不可用

一个网站建议我尝试:

    导出 CPPFLAGS="-I/usr/local/berkeleydb/include"
   导出 LDFLAGS="-L/usr/local/berkeleydb/lib"

但这也不起作用。

更新

好的。我终于可以编译了。

我不得不使用:

CPPFLAGS="-I/usr/local/berkeleydb/include -D_GNU_SOURCE" 导出 CPPFLAGS

LDFLAGS="-L/usr/local/lib -L/usr/local/berkeleydb/lib -R/usr/local/berkeleydb/lib" 导出 LDFLAGS

LD_LIBRARY_PATH="/usr/local/berkeleydb/lib" 导出 LD_LIBRARY_PATH

./configure --enable-sql 

现在我面临另一个问题。当我运行“make test”时,它永远挂在:

>>>>> 正在启动 test001-slapadd ...
运行定义.sh
运行 slapadd 以构建 slapd 数据库...

显然我应该安装两个补丁来解决这个问题,但运气不佳。我想我找到了其中之一,但我不知道如何应用它。

Ins*_*yte 3

OpenLDAP 管理指南似乎以非常清晰的方式完成了设置。而且man 5 slapd-sql看起来是彻底和完整的。