Tommy 碎碎念

Tommy Wu's blog

« 上一篇 | 下一篇 »

ownCloud imap (or others) backend support? lost after re-configure...
post by tommy @ 20 七月, 2013 11:16

上星期把 ownCloud 裝起來用, 因為是用現成的主機, 所以就直接用 imap 的方式來驗證帳號.

設定上其實很簡單, 不過.... 就設計的邏輯來看, 整個系統雖然有個 External user support 的應用程式可以用, 啟用後, 又找不到任何地方可以設定.... 原來, 沒有介面, 要自己去改 config/config.php 才可以.

網路上找到的設定如下:

<?php
require_once(dirname(__FILE__).'/../apps/user_external/lib/imap.php');
$CONFIG = array (
'instanceid' => 'xxxxx',
'passwordsalt' => 'xxxxx,
'
datadirectory' => '/var/www/owncloud/data',
'
dbtype' => 'mysql',
'
version' => '5.0.15',
'
dbname' => 'owncloud',
'
dbhost' => 'localhost',
'
dbtableprefix' => 'oc_',
'
dbuser' => 'xxxx',
'
dbpassword' => 'xxxxx',
'
installed' => true,
'
loglevel' => '2',
'
user_backends' =>
array (
0 =>
array (
'
class' => 'OC_User_IMAP',
'
arguments' =>
array (
0 => '
{localhost/novalidate-cert:143}',
),
),
),
'
forcessl' => true,
);

就是一開始加上用的模組, 再去設定就可以.

不過.... 昨天設定老婆的手機上的 ownCloud client 時, 居然不能登入.... 用 browser 登入又可以. 找了半天, 終於發現原本自行在 config/config.php 加上的那一行 require_once 不見了....

原來, 只要在系統管理員在網頁上改過設定, 就會重寫 config/config.php, 但是.... 就只有 $CONFIG 會被寫入, 自己另外加上的程式碼會不見.

這時... 透過 browser 進來時, 應該在 index.php 裡頭會去處理到, 所以會載入所需要的模組, 仍可以正常的登入. 不過... 使用 android client 時, 似乎不是透過這方式來連線,  所以.... 會找不到帳號密碼.

由於怕不小心忘了會不能用, 所以就改了一下程式, 在寫入 config.php 時, 去載入自己的另一個 config.local.php 設定檔, 這樣就可以把自己另外加的程式碼放到 config.local.php, 而系統重新寫入時不會去影響到.

patch 如下:

--- owncloud/lib/config.orig.php        2013-07-19 21:50:05.244784602 +0800
+++ owncloud/lib/config.php 2013-07-19 21:51:14.421748091 +0800
@@ -157,7 +157,7 @@
// Create a php file ...
$defaults = new OC_Defaults;
 
- $content = "<?php\n\$CONFIG = ";
+ $content = "<?php\nif (file_exists(dirname(__FILE__).'/config.local.php'))\n include(dirname(__FILE__).'/config.local.php');\n\$CONFIG = ";
$content .= var_export(self::$cache, true);
$content .= ";\n";

這樣應該可以避免不小心修改設定造成無法登入的情形吧. (不過要是那天升級忘了, 可能又會碰到吧)
Del.icio.us Furl HEMiDEMi Technorati MyShare
迴響
暱稱:
標題:
個人網頁:
電子郵件:
迴響

  

Bad Behavior 已經阻擋了 68 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS