2020年6月14日 星期日

[經驗分享] 升級 Nextcloud 18 後 Zimbra Drive 無法登入問題



Nextcloud 提供了與 Zimbra 相互整合的應用程式擴充功能,不僅可以讓 Zimbra Web Client 中的 Open Drive 直接整合 Nextcloud,亦可以使用 Zimbra 的帳戶登入 Nextcloud 使用,非常方便。

這個整合我從 16 版即已開始使用,但近日 Nextcloud 升級到 18 版後,只要是登入來自 Zimbra 的帳號即會出現錯誤,嚴重影響使用。






尋找線索

在登入 Zimbra 的帳號後,Nextcloud 無法正常使用,並且出現如下的錯誤訊息。



以 Zimbra 帳號登入出現的錯誤訊息


在錯誤畫面的資訊中,有給出 請求編號 的關鍵字,因此我們可以拿這一串到 Nextcloud 的記錄檔裡面篩選出必要的資訊。
cat /var/www/nextcloud/data/nextcloud.log | grep <請求編號的數值>



由 Nextcloud 記錄檔中找到問題原因


原來主要的問題發生在 AbstractZimbraUsersBackend.php 這支程式裡面。









修復問題

經由這個線索,在官方討論也查到有人有相同的問題。


造成問題的程式碼區塊





因此,我們參考他的作法,把第 64 行至 73 行給註解掉,即可恢復以 Zimbra 帳號登入功能。


將有問題的程式碼區塊註解掉








參考資料