2016-06-07 139 views
0

我有一個plone安裝(4.2.5)與plone.app.ldap加載項。有一個啓用了plone-ldap的站點,我們的ldap服務器已更改爲另一個域/ IP。因此,zope服務器在plone-ldap上檢索ldap信息。甚至根ZMI也沒有更多的工作。ldap服務器無法訪問導致plone/zope服務器down

任何對服務器的請求在plone重啓後幾秒鐘都不會加載。因此,我無法通過我們的站點或ZMI界面重新配置我們的新ldap服務器。

在這種情況下,如何繼續在plone-ldap組件上重新配置新的ldap服務器?是否有類似於ZMI的腳本應用程序來執行此操作?這是一個已知的錯誤嗎?

一些日誌:

1)Zeoserver.log

2016-06-06T15:52:04 new connection ('127.0.0.1', 40051): <ManagedServerConnection ('127.0.0.1', 40051)> 
2016-06-06T15:52:04 (127.0.0.1:40049) received handshake 'Z3101' 
2016-06-06T15:52:04 (unconnected) disconnected 
2016-06-06T15:52:04 (unconnected) disconnected 
2016-06-06T15:52:08 new connection ('127.0.0.1', 40052): <ManagedServerConnection ('127.0.0.1', 40052)> 
2016-06-06T15:52:08 new connection ('127.0.0.1', 40053): <ManagedServerConnection ('127.0.0.1', 40053)> 
2016-06-06T15:52:08 new connection ('127.0.0.1', 40054): **<ManagedServerConnection ('127.0.0.1', 40054)> 
2016-06-06T15:52:08 (127.0.0.1:40052) received handshake 'Z3101' 
2016-06-06T15:52:08 (unconnected) disconnected 
2016-06-06T15:52:08 (unconnected) disconnected** 

2)客戶端1/event.log

2016-06-06T15:53:12 ERROR event.LDAPDelegate {'desc': "Can't contact LDAP server"} 
Traceback (most recent call last): 
    File "/usr/local/Plone/buildout-cache/eggs/Products.LDAPUserFolder-2.26-py2.7.egg/Products/LDAPUserFolder/LDAPDelegate.py", line 366, in search 
    connection = self.connect(bind_dn=bind_dn, bind_pwd=bind_pwd) 
    File "/usr/local/Plone/buildout-cache/eggs/Products.LDAPUserFolder-2.26-py2.7.egg/Products/LDAPUserFolder/LDAPDelegate.py", line 265, in connect 
    raise e 
**SERVER_DOWN: {'desc': "Can't contact LDAP server"}** 
+0

您是否嘗試使用具有基本身份驗證的「admin」用戶訪問ZMI Zope根? –

+0

是的,它可以工作,但在訪問站點對象時會下降服務器。我找到了[bug 1218938](https://bugs.launchpad.net/ldapuserfolder/+bug/1218938),但它並沒有給我帶來好的解決方案。 – gwarah

+0

「你放棄了服務器」是什麼意思? –

回答

2

備份第一

聲明 - I從來沒有見過面n也可凍結對Plone站點的根級管理員ZMI訪問的LDAP配置。

我可以很快建議你從網站的acl_users中刪除ldap插件,並從頭開始。

由於ZMI不可用,您必須使用控制檯訪問權限。 這樣做運行Zope實例如下:

$ bin/instance debug 

(其中 「實例」 是你的一個實例)

的可以刪除LDAP插件:

del app.Plone.acl_users['ldap-plugin-id'] 

Plone是您的網站和ldap-plugin-id是LDAP插件。使用CTRL+D

import transaction;transaction.commit() 

...然後退出現在你: 如果你不記得了,尋找它在這組:

app.Plone.acl_users.objectValues() 

最後,你必須堅持你的變化必須能夠訪問ZMI,並且您必須創建並重新配置新的插件。

請注意:配置LDAP或AD插件時,請始終設置「連接時間」和「操作超時」。這可能是您的訪問嘗試完全凍結實例的原因。

+0

是否需要運行構建(無ldap插件)和/或inst。這些命令後重新啓動? – gwarah

+0

不,你不知道:LDAP配置是存在於ZODB存儲內的東西 –

+0

已解決@keul。插件刪除和網站/ zmi再次訪問。上面的命令「$ bin/instance debug」只是一個更正。你見過上面提到的[launchpad bug 1218938](http://bugs.launchpad.net/ldapuserfolder/+bug/1218938)嗎?這可能是造成這個問題的原因。 – gwarah