OpenLDAP错误:ldap_bind: Can't contact LDAP server (-1)解决方法

在配置Openldap是由很多地方都是需要注意的,拿Redhat Enterprise Linux来说,就需要将/var/lib/ldap里面的数据清空,以及需要将/etc/openldap/sldap.d文件夹改名或者删除,最近又发现一个新的错误,ldapsearch或其他任何ldap客户端连接server时一直都报:
ldap_bind: Can’t contact LDAP server (-1)
而slapd进程一直都在。netstat发现389端口没有监听。非常奇怪。运行:
slapd -d 256 -u ldap
命令行下打开debug 也没任何报错,但貌似没提示监听。看文件权限都正常,配置也没动过,白思不得其解,按ctrl+c也无法终止。
后来偶然发现在slapd停止状态下,slapcat也卡住不动,立刻意识到可能db文件不对头。于是在/var/lib/ldap(ldap数据目录)下执行db_recover,然后再执行slapcat就可以看到数据信息了。于是修正/var/lib/ldap的用户权限(因为db_recover用root执行的,产生的新db文件是root:root,而/var/lib/ldap应该是ldap:ldap),再启动slapd,一切正常!

发表评论

电子邮件地址不会被公开。 必填项已用*标注