主题: 新装的iRedAdmin偶尔在浏览用户列表功能的时候提示无法连接LDAP服务器

配置中的Debug打开. 界面提示是 (False, '{\'info\': \'\', \'desc\': "Can\'t contact LDAP server"}')
Apache Error Log
[Wed Apr 21 11:43:37 2010] [error] *** ldap://127.0.0.1:389/ - SimpleLDAPObject.search_ext (('o=domains,dc=我的域名,dc=com', 1, '
(objectClass=mailDomain)', ['domainName'], 0, None, None, -1, 0),{})
[Wed Apr 21 11:43:37 2010] [error] => LDAPError - SERVER_DOWN: {'info': '', 'desc': "Can't contact LDAP server"}

出现几率不定, 刚刚配好时几乎无法运行, 一直报这个错误, 但我在后台用脚本做用户创建都是正常的, 用PHPLDAPAdmin没有任何问题. 查看LDAP Server 的Log, 也没有出错提示.
初步分析应该是在python-ldap 的版本上面. 最初自动安装的是2.3.11 的. 然后用easy-Install 安装2.3.10 的稳定了, 但偶尔还是会出错. 出错了也会莫名其妙的又恢复. 试过自己编译安装python-ldap的, 也是不稳定.

安装环境是自行编译的Nginx, PHP+FastCGI, Python, Apache, MySQL.  为了能够让iRedAdmin正常使用同时又安装了Apache 专门跑这个后台管理. Nginx上配Python没有跑起来

回复: 新装的iRedAdmin偶尔在浏览用户列表功能的时候提示无法连接LDAP服务器

修改过 iRedAdmin 后需要重新启动 Apache。
修改过 OpenLDAP 后也需要重启 Apache 才行。

回复: 新装的iRedAdmin偶尔在浏览用户列表功能的时候提示无法连接LDAP服务器

全部都修改过了的. 而且都是正常的重启过的. 比如今天已经是新系统第三天了. 正常使用的过程还是会偶尔出现这个错误, 而且出错时一定是在界面上修改了某个用户信息. 保存后,就提示这个了. 只要是纯查看用户信息, 不会出错.
最主要是现在几次出现该错误, 什么都没动, 过一会就又正常了.

回复: 新装的iRedAdmin偶尔在浏览用户列表功能的时候提示无法连接LDAP服务器

这个问题比较奇怪,之前的用户都没有反馈过这个问题,暂时无法定位是何原因。

回复: 新装的iRedAdmin偶尔在浏览用户列表功能的时候提示无法连接LDAP服务器

以我的分析而言, 我基本可以确定问题是出在python-ldap的稳定性方面. 因为之前我装了Php 5.2.13 版本. 基本上是完全不可用.
后来重新降级编译到了 5.2.8 版本, PHPLDAPAdmin 一点都不会出错, 而Python的前端还是会时不时的报错, 我就把python-ldap也降级, 降到了2.3.10 版本, 就基本不报错了.
现在就是偶尔在修改后会出错, 而且出错也看不到任何的错误可能分析,  然后还会莫名其妙的恢复.
能大概说明一下除了Apache 的errorlog 里面会有错误信息, 哪里还能够找到这个操作引起的log文件吗? 至少可以debug一下看看是那个部分的代码引起的.

回复: 新装的iRedAdmin偶尔在浏览用户列表功能的时候提示无法连接LDAP服务器

你现在装的 python-ldap 是哪个版本?
基本就是只有 apache 的 error log 可以参考,因为所有的错误信息都在里头了。

回复: 新装的iRedAdmin偶尔在浏览用户列表功能的时候提示无法连接LDAP服务器

现在装的版本是 2.3.10 . 用easy_install  安装的, 之前的2.3.11 是用下载了egg后用setup-tools 装的.
现在用 easy_install python-ldap==2.3.10   安装居然会报一堆的错误. 而之前已经都是可以用了的.
错误提示如下
file Lib/ldap.py (for module ldap) not found
file Lib/ldap/schema.py (for module ldap.schema) not found
warning: no files found matching 'Makefile'
warning: no files found matching 'Modules/LICENSE'
file Lib/ldap.py (for module ldap) not found
file Lib/ldap/schema.py (for module ldap.schema) not found
file Lib/ldap.py (for module ldap) not found
file Lib/ldap/schema.py (for module ldap.schema) not found
In file included from Modules/LDAPObject.c:18:
/usr/include/sasl/sasl.h:349: warning: function declaration isn’t a prototype
Modules/constants.c: In function ‘LDAPinit_constants’:
Modules/constants.c:184: error: ‘LDAP_OPT_X_TLS_NEWCTX’ undeclared (first use in this function)
Modules/constants.c:184: error: (Each undeclared identifier is reported only once
Modules/constants.c:184: error: for each function it appears in.)
error: Setup script exited with error: command 'gcc' failed with exit status 1

回复: 新装的iRedAdmin偶尔在浏览用户列表功能的时候提示无法连接LDAP服务器

python-ldap-2.3.10 是有问题的,你用 2.3.11 就可以了。

回复: 新装的iRedAdmin偶尔在浏览用户列表功能的时候提示无法连接LDAP服务器

哦. 刚刚检查了一下, 现在用的就是2.3.11的. 刚刚提示按照2.3.10的错误, 是我误会了.其实我一直就没有成功的降级2.3.11. 现在还是停留在2.3.11 上面的. 所以前面所说的不稳定, 应该还是发生在2.3.11上面的.

回复: 新装的iRedAdmin偶尔在浏览用户列表功能的时候提示无法连接LDAP服务器

这样试试吧:
1:重启 openldap
2:重启apache
3:登陆 iRedAdmin-Pro

这样应该是 OK 的,我没碰到这样无法解决的情况。你先试试看。