由于 Apple 不断对 OSX 附带的 LDAP 进行“改进”(即每次更新都会破坏它),我不得不自己安装 openldap,它在 Maverick 和 Yosemite(openldap 2.4.39)上运行良好。然而,当我今天再次尝试启动它时(不久前升级到 El Capitan 10.11.5),它不想再次启动。谷歌搜索建议升级 brew 并重新安装:
%> brew update && brew upgrade
%> brew reinstall homebrew/dupes/openldap --with-berkeley-db
此后,我重新安装了 openldap 2.4.43。不幸的是,这并没有奏效。openldap 现在在启动后立即再次停止:
575fdffe /usr/local/etc/openldap/slapd.conf: line 53 (database bdb)
Unrecognized database type (bdb)
575fdffe /usr/local/etc/openldap/slapd.conf: line 53: <database> failed init (bdb)
575fdffe slapd destroy: freeing system resources.
575fdffe slapd stopped.
对此进行 Google 搜索会显示需要取消注释配置中的某些行的提示。在 slapd.conf 中,我可以看到以下配置:
# Load dynamic backend modules:
# modulepath /usr/local/Cellar/openldap/2.4.43/libexec/openldap
# moduleload back_bdb.la
# moduleload back_hdb.la
# moduleload back_ldap.la
但是,引用的文件夹不存在。有人知道吗?哦……如果能用“完全白痴”的风格回答,我会非常感激,因为我对系统管理员,尤其是 ldap 了解甚少。我“只是”一名开发人员。谢谢!
答案1
因此,似乎“--with-berkley-db”标签不再有效。当前命令是:
brew reinstall openldap --with-berkeley-db@4