ownCloud同期失敗
Windows上で試しに使っているownCloudクライアントでの同期がうまくいかない。
存在しているフォルダが同期できなかったり、削除したフォルダが反映されなかったり。
クライアント設定の画面ではフォルダがきちんとサーバ側と対応しても、実際のローカル側のフォルダでは対応していない。
延々と、Windowsのタスクバーの通知アイコンに「同期アクティビティ」に「削除しました」「失敗しました」だと表示されるが、クリックしても何度も表示される。「設定画面で確認して下さい」とも出るが、設定画面の同期アクティビティのログクリアの方法もよくわからん(そのようなボタンはない)。同期に失敗しました、と言われても対策として何をすればいいのかはわからない。
進行表示アイコンが青になっていても、メッセージではエラーになっていたり、同期中となってみたり、きちんと対応が取れていない。同期済の表示があっても、さらに下の進行メッセージでは待機中やら、検索中やら。アイコンが赤×でも、すべてのファイルは同期済みとの表示とか。
サーバ側のデータベースとしてSQLiteを選択していてこれが性能不足だったのかと、MySQLへ移行してみたが改善せず。
しかたないので、Windows側のクライアントソフトでのアカウントを一度削除し、同期フォルダも空で新規に作成して、再度同期させてみることにした。
会社のクラウド構築用にownCloudをとの広告も見掛けるのだが、こんな品質で商用に耐えるのかな?
[追記]
DropBoxのフォルダをownCloudで同期させているせいか、ログを見ているとその関連のファイルでいくつか「操作はキャンセルされました」と出ている。そのファイルの同期だけキャンセルされるならまだしも、どうもそれ以降の処理すべてもキャンセルされているもよう…。なんじゃそりゃ。
エラーになっているらしきフォルダの同期を外してみたが、他のフォルダのファイルでも改善せず。
エラーログを見直すと、上記したキャンセル表記の下に「server replied: Service Unavailable」とか出てる。このあたりが原因か。
[追記]
エラーログは、Windows側のクライアントでは詳しい内容は確認できなくて、ブラウザ側からアクセスして見てみると、「Encryption not ready: Module with id: OC_DEFAULT_MODULE does not exist.」などと出てくる。更新手順に従った際には特にエラーはなかったはずなのだが、管理画面から暗号化を確認するとチェックが入っておらず、これを有効にしようとして「移行を開始」としてもエラーになってしまう(「問題が発生しました。ログファイルを確認してください。(Error: Autoload path not allowed: /var/www/html/owncloud/apps/encryption/lib/migration.php)」)。
この絡みで検索していると、ownCloudのバージョン更新で7⇒8の場合に、ファイル暗号化を指定していると更新に失敗して、ファイルを復号できなくなるんだと。って、え?!
- ownCloud7から 8へのアップデートで大変なことになった パソコン鳥のブログ/ウェブリブログ
- 結論から言うと、ownCloudを 7から 8へのアップデートで、暗号化済みファイルの復号が出来なくなったので、ownCloud を再インストールしました。
ファイルは全削除になるのかな?過去ファイルを、どうにかver.7のツールで抽出できないのかしら…。ひでぇアプリ…。上記のサイトの方は、再インストール後にクライアントパソコン側に残っていたファイルを、再アップロードしたらしい。
コマンドラインツールで「php occ encryption:migrate」で移行せよとの情報も出てくるんだが、これを実行してみてもoccのencryptionにはこのコマンドはないもよう。
(あと、(上記の暗号化云々とは関係ないはずだが、)Windows側のクライアントのバージョン表示が2.0.2で「アップデートはありません。」となっているからうのみにしていたら、配布サイト側で確認してみたら2.1.0が提供されていた…。)
[追記]
ブラウザからownCloudにアクセスして、自身の共有ファイルのうち、過去分で暗号化されていると思われる分を削除したらWindowsのクライアント側でも正しく動作するようになった(感じ)。で、ローカルにリネームしていたフォルダもあるからと、いったん全共有ファイルとフォルダを削除して初期化しようとしていたのだが、削除したあとになぜか後からサーバ側で復活してきていた。理由はよくわからんが、他で繋いでいるWindowsクライアント側の共有ファイルの情報で復活更新されてしまったのかもしれない。
共有動作はうまくいっていそうなので、管理パネルから暗号化も有効化しようとしたのだが、この場合でもやはり「Error: Autoload path not allowed」となってしまって暗号化は失敗してしまった。「Autoload path」がどこを指しているのか、所有者権限の問題なのかがこれだけでは不明で、また、encryption/lib/migration.phpのファイルを眺めてみても要領を得ないのだが、しばらくは暗号化なしで動作させるしかないかな?(別でもうひとつのownCloudをアップグレードではなく、まったくの新規に動作させてみて、そちらでの暗号化が動作するかを確認してみるのもいいかもしれない)。
シンボリックがどうこうという記述も見掛けたので、ownCloudのディレクトリをシンボリックで設定していたのを外したりもしてみたが、こちらも効果なかった。