Ubuntu LDAP配置实例

经过概要:

  因为需要在Ubuntu上配置LDAP,首先以Ubuntu和LDAP作为关键字搜索,也浏览了OpenLDAP的官方文档。在阅读了大量文档后,发现自Ubuntu Server 10.04以后,已不再以.conf文件保存配置,之前收集的资料大部分已过时,还是应该首先阅读Ubuntu官方文档

  之后按照官方文档在最新的Ubuntu Server 10.10版本上开始安装,发现10.10的官方文档仅仅是复制了10.04,其中包含错误,会导致无法配置成功。认识到Server版还是应该选择有长期支持的LTS版本

  之后在Ubuntu 10.04 LTS上重新开始配置LDAP,可能是配置途中犯错,始终无法顺利完成。因为Ubuntu相关文档涉及到如何排查出现的LDAP错误的很少(也可能是我搜索能力还不够),一度想要放弃,并且连带还对Ubuntu发行版有些腹诽。最后无奈只得再次重新安装,照本宣科,最终配置完成。

  相关细节如下:

1.Ubuntu 10.04 OpenLDAP不再使用conf配置文件

  Ubuntu的OpenLDAP一直都有变化,应该是从10.04开始,OpenLDAP不再使用conf配置文件,而是以LDAP记录的方式保存配置信息。Ubuntu 10.04 OpenLDAP Server文档中的说明如下:

OpenLDAP uses a separate directory which contains the cn=config Directory Information Tree (DIT). The cn=config DIT is used to dynamically configure the slapd daemon, allowing the modification of schema definitions, indexes, ACLs, etc without stopping the service.

  网络上关于Ubuntu配置OpenLDAP的文档很多,但大多数基于10.04之前的版本,讲述的是如何修改conf配置文件,已经过期失效。

  所以,始终从官方文档开始会是一个好习惯

2.Ubuntu 10.10官方文档OpenLDAP的部分目前(2010-03)有错误

  开始是在最新的Ubuntu Server 10.10上进行配置,不过Ubuntu 10.10 OpenLDAP Server文档目前(2010-03)存在错误,在添加backend.example.com.ldif时会出现如下错误:

ldap_add: Other (e.g., implementation specific) error (80)
additional info: <olcModuleLoad> handler exited with 1

  经过一番搜索,找到了解决方案。文档有误,需要将backend.example.com.ldif中的back_hdb修改为back_hdb.la

  接着添加frontend.example.com.ldif时又出现以下错误:

ldap_bind invalid credentials (49)

  这次就没有那么幸运,搜索返回的结果很少,和10.10相关的更是没有。

  比较10.10和10.04的文档,发现完全一样。之后在10.04上配置OpenLDAP成功,说明10.10上的OpenLDAP程序又发生了变化,但是连官方文档都没有跟上,其它的文档就更少了。

  所以,类似服务器操作系统之类的技术选择不要选择最新,而应该选择稳定。新(在其变得不新之前的一段时间内)往往意味着不稳定,相关支持信息较少。

3.Ubuntu的官方文档仍略有不足

  鉴于10.10无法成功配置,考虑到10.04是LTS版本,决定在10.04上进行配置。

  按照10.04的文档可以成功配置OpenLDAP Server,但是如果在配置过程中由于输入错误导致出错就比较麻烦了,文档没有提示如何排查错误,搜索错误信息返回的结果也很少,出了错似乎只好从头开始。(也许是因为我搜索能力的关系)

  所以在输入时要小心出错,争取添加配置信息一步成功。或者像我一样,用得是虚拟机,有快照备份。

  必须承认,以上经历多少有些影响我对Ubuntu发行版(Server)的信心,不过比较Linux发行版的优劣不容易也不很有意义,既然没有时间样样精通,就坚持在熟悉的Ubuntu吧,

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://127.0.0.1/wyysyg.html