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

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

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

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

我需要设置哪些 OpenLDAP 选项,以及在哪里设置它们?

我正在运行 Ubuntu 9.04。

更新

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

另一更新

我对此一无所知:

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

我认为它安装正确,但“make test”产生错误“比较失败。/scripts/test003-search 失败(退出 1)”。

我还是执行了“make install”,因为谷歌似乎没有关于如何解决“比较失败”问题的任何解释。

现在我甚至无法启动这个愚蠢的东西。Ubuntu 软件包中可以使用的“/etc/init.d/slapd start”不起作用。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--启用-sql

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

>>>>> 正在启动 test001-slapadd...
运行defines.sh
运行 slapadd 来构建 slapd 数据库...

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

答案1

OpenLDAP 管理指南似乎以相当清晰的方式介绍了设置过程。而且man 5 slapd-sql看起来透彻而完整。

相关内容