假如你是Windows或者Mac系统,请略过本文,本文主要是面向Linux用户 :)。
以前没有用过LDAP,这次因为需要做一个基于LDAP的认证,所以拿出来看了看。
本来一直在自己电脑上都没有问题的,但是发现到了Linux下就出现了很大的问题,OpenLDAP安装不过(只有Linux需要这个)。
OpenLDAP的安装很奇怪,默认需要一个Berkeley DB,这个数据库之前没用过,大概见过,但是从Oracle官网下载了最新版本,发现和OpenLDAP的最新版本放在一起发现不可以,提示mismath。
WTF?网上查找了一下,发现是OpenLDAP对DB数据库版本要求比较严,基本上一个版本对应一个版本数据库,这不是扯呢吗?!
仔细看了一下configure参数,发现其实是可以替换掉数据库设置的:
./configure –enable-backends=no –enable-mdb=yes
make depend
make
make install 即可完成安装,使用mdb数据库,会牺牲一定性能。
然后安装Python-LDAP
pip install Python-LDAP 但是使用时发现出现了问题:import ldap时会报错提示so文件导出找不到。这个问题作者说是他当时写死了自己的路径,导致路径不对了,因此还需要手工修正这个问题。
下载Python-LDAP,修改Setup.cfg文件,若上步未指定路径,则lib和include路径分别为/usr/local/lib和/usr/local/include。
接下来就可以使用LDAP认证了: