phpldapadmin 无法连接到 openldap

phpldapadmin 无法连接到 openldap

我有一个新安装的 openldap 服务器,版本 2.4.39。phpldapadmin 也安装在同一台服务器上,版本 1.2.3

Openldap 正在运行。我可以使用其他 ldap 浏览器工具连接到它。

[root@openldap httpd]# slapd -V @(#) $OpenLDAP: slapd 2.4.39 (Mar  6 2015 04:35:49) $
[email protected]:/builddir/build/BUILD/openldap-4.39/openldap-2.4.39/servers/slapd

[root@openldap httpd]# ldapsearch -x -W -D 'cn=admin,dc=cloud-lab,dc=com' -b "" -s base -H ldap://localhost
Enter LDAP Password: 
# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: ALL
#
# dn: objectClass: top objectClass: OpenLDAProotDSE
# search result search: 2 result: 0 Success
# numResponses: 2
# numEntries: 1 

当我通过 Web 浏览器登录 phpldapadmin 时,它显示以下错误消息。据slapd.log我所知,phpldapadmin 进程没有连接。

error   Unable to connect to LDAP server Cloud-Lab.Com
error: Can't contact LDAP server (-1) for user
error   Failed to Authenticate to server

Invalid Username or Password.

来自 phpldapadmin 的 config.php:

$servers = new Datastore();
$servers->newServer('ldap_pla');
$servers->setValue('server','name','Cloud-Lab.Com');
$servers->setValue('server','host','127.0.0.1');
$servers->setValue('server','port',389);
$servers->setValue('server','base',array('dc=cloud-lab,dc=com'));
$servers->setValue('login','auth_type','session');
$servers->setValue('login','bind_id','cn=admin,dc=cloud-lab,dc=com');
$servers->setValue('login','bind_pass','secret');

答案1

我怀疑 CentOS 的默认 SELinux 配置存在问题。

# getsebool httpd_can_connect_ldap
httpd_can_connect_ldap --> off
# setsebool -P httpd_can_connect_ldap on
# getsebool httpd_can_connect_ldap
httpd_can_connect_ldap --> on

答案2

我在 CentOS 7 中遇到了同样的问题。使用以下命令修改 SELinux 配置后,解决了这个问题。

setsebool -P httpd_can_connect_ldap on

答案3

禁用 SELinux
vi /etc/selinux/config

SELINUX=enforce >> SELINUX=disabled
SELINUXTYPE=targeted >> # SELINUXTYPE=targeted

保存并重启

相关内容