以前紹介した ownCloudを 7から 8へアップデートしましたが、ownCloudを再インストールする羽目になりました。
Dropboxのようなサービスを自前で運用できる ownCloud パソコン鳥のブログ
結論から言うと、暗号化モジュール Encryption を導入していると、ownCloudを 7から 8へのアップデートで、暗号化済みファイルの復号が出来なくなったので、ownCloud を再インストールしました。
Encryption を導入していない場合は、アップデートできました。
以降で、アップデートの説明をします。
Encryption を導入している場合は、再インストールの説明です。
なお、Ubuntu14.04 での説明になります。
暗号化 Encryption を導入していない場合
ownCloud はapt-get upgrade 実行ではアップデートされないので、明示的にアップデートします。
apt-get upgrade owncloud
アップデート後、https://xxxxx/owncloud/ のようにブラウザで ownCloud にアクセスします。
「アップデートを開始」ボタンを押します。
下記画面になります。
「アプリにinfo.xmlが入っていません」と出ます。
再度 https://xxxxx/owncloud/ のようにブラウザで ownCloud にアクセスします。
「アップデートを開始」ボタンがあるので、再度押すと、今度はアップデートが成功します。
暗号化 Encryption を導入している場合
結論から言うと、ownCloudを 7から 8へのアップデートで、暗号化済みファイルの復号が出来なくなったので、ownCloud を再インストールしました。
問題に対するパッチが下記でリリースされていますが、これを適用してもダメでした。
そのうち、これが反映したバージョンがリリースされると思います。
それまでアップデートを見送るのもいいと思います。
more secure way to update the database by schiesbn · Pull Request #17473 · owncloud/core · GitHub
Don’t try to move files to the trashbin outside of user/files by schiesbn · Pull Request #17474 · owncloud/core · GitHub
アップデートする場合は、再インストールになります。
ownCloudを一旦削除し、新バージョン8をインストールします。
また、サーバ上の暗号化済みファイルの復号が出来ないので、一旦サーバ上からファイルを削除した上で、クライアント上の同期フォルダからサーバに同期させます。
1.クライアントPCの owncloudクライアントを終了させます。
2.サーバ上で owncloud を削除
apt-get remove owncloud を実行して削除します。
3.サーバ上でユーザデータの削除
rm -fr /var/www/owncloud/data/ユーザ名/* を実行します。
4.サーバ上で owncloud をインストール
apt-get install owncloud を実行します。
2015/7/10時点で、ownCloud 8.1.0 がインストールされます。
5.ownCloud にアクセスし、管理者ユーザでログイン
https://xxxxx/owncloud/ のようにブラウザでログインします。
6.暗号化モジュール Encryption を有効化する
画面左上のメニューで ファイル -> アプリ を選択します。
選択後、「無効」を選択し、「Default Encryption module」で「有効にする」を押します。
ブラウザでアクセスしている ownCloud からログアウトします。
7.クライアントPC で ownCloudクライアントを開始
スタートメニューから owncloud を実行し、ownCloudクライアントを開始します。
8.下記表示で「ファイルを残す」を選択
必ず「ファイルを残す」を選択して下さい。
9.「削除」ボタンを押して同期フォルダを削除
同期フォルダの指定が削除されるだけで、フォルダ自体が削除されることはありません。
10.「フォルダーを追加」を行う
先ほど削除したフォルダと同じフォルダを追加します
11.サーバへの同期開始
これで、クライアント上のファイルがサーバへ同期開始されます
なお、同期中に下記表示が出た場合は、クライアントの同期フォルダ内の Documents、Photosフォルダを別名にリネームして下さい。
どうもサーバでも Documents、Photosフォルダが作られていて、それがクライアントに同期される際にファイル名重複でエラーになるようです。
クライアントPCでのリネームでしか回避できなかったので、Documents、Photosフォルダを別名にリネームします。
以上、ownCloudの 7から 8へアップデートです。
正直、暗号化 Encryption を導入している場合は、今すぐのアップデートはおすすめしません。
修正パッチが反映されるまで、しばらく待つ方が良いと思います。
なお、暗号化 Encryption を導入している際に、どのような問題があってアップデート出来ないかですが、手順で下記コマンドを実行する必要がありますが、これがエラーになります。
sudo -u www-data php /var/www/owncloud/occ encryption:migrate
下記のようになります。
「SQLSTATE[23000]」の表示が出て、最後に「encription:migrate [user_id1] … [user_idN]」の表示で終わります。
これに対するパッチが下記でリリースされています。
これらを適用で上記エラーは無くなったのですが、それでも暗号化済みファイルの復号が出来ず、アップデート前のファイルにアクセスできませんでした。
more secure way to update the database by schiesbn · Pull Request #17473 · owncloud/core · GitHub
Don’t try to move files to the trashbin outside of user/files by schiesbn · Pull Request #17474 · owncloud/core · GitHub
そのほかにもパッチが必要のようです。
そのうち、それらも反映したバージョンがリリースされると思いますので、それまでアップデートを見送るのもいいと思います。
コメント