[[owncloud]]
----
====== 概要 ======
* dropbox クローン。他にもカレンダーの同期とかもできるみたいだけど、しばらくは使う予定なし。
* (2013/1/4 追記) 同期のアルゴリズムが現状だと馬鹿すぎるので、一旦追うのは中止。
* csync コマンドで追加した 6 GB のファイルが、windows クライアントだと 1.5 GB しか同期されない。
* ファイルサイズがでかすぎる、または、途中でコネクションが切れて再開した時に正確に再開されていない気がする。
* 同じディレクトリが生成されてしまう時がある。これの原因は不明。
* 同期再開する際、全ファイルに対して find をかけているので、ものすごく遅い。
====== インストール ======
* ports で入れずに、php のソースを持ってくる方がよさそう。設置して、アクセスするだけで基本的にOK。
* .htaccess、mod_rewrite が動作するようにしておく。
* apache dav module は利用しない。(独自 dav サーバを内包している模様)
====== 同期の手法 ======
===== クライアント同期 =====
* windows/mac は専用クライアントをダウンロード(dropbox とほぼ同様)
===== 同期プロトコル部分 =====
* csync をベースに行っている模様。
* http://www.csync.org/userguide/
* http://www.csync.org/get-it/
====== tips ======
===== サーバ上で直接ファイルを設置した場合 [2023-01-24] =====
sudo -u www php /home/www/public_html/nextcloud/occ files:scan --path="/skk/files/Documents/"
===== 4.5.5 におけるバグ =====
* mdb2 という PHP のライブラリの使い方がおかしい.
* insert 時に null チェックをしているが,コマンドラインベースの csync だと null ありで insert が走るので,どうやっても sync が始まらない.
* lib/db.php 207 行目を以下のようにすることで,null check を外すことで動作.副作用は調査してない.
'portability' => MDB2_PORTABILITY_ALL - MDB2_PORTABILITY_FIX_CASE - MDB2_POR TABILITY_EMPTY_TO_NULL,
* 参考URL
* http://codezine.jp/article/detail/2480?p=2