ownCloud 9.0.6 から ownCloud 9.1.6 へアップデート

GoogleDrive や DropBOX 、Amazon S3 などの外部ストレージサービスを、1箇所にまとめるためのハブとして運用中のownCloud を、久しぶりにアップデートしてみたので、その手順について記録しておきます。

注意点

  • 環境は MicroSoft Azure上の CentOS7.3 を使用しています。
  • ownCloudとは別に、OSのセキュリティアップデートも実施します。
  • ownCloud 9.0.6 は既に最新のマイナーバージョンではないので、9.0系の最新バージョンへアップデートしてから、ownCloud9.1系の最新へアップデートします。
  • ownCloudは、公式のRPMのパッケージ(ownCloud-files)を使用します。

OSのセキュリティアップデートまで

owncloud-files 以外の更新のあるパッケージをすべてアップデートします。
MariaDBなどのパッケージも更新されるので、念のためデータベースのフルバックアップを取得しておくと良いと思います。

慎重にアップデートを行う場合は、Nginx , MariaDB(MySQL) , PHP あたりは個別にアップデートしていきます。

今回は ownCloud のパッケージ以外は、一気にアップデートをしたいので、–exclude オプションで owncloud-files を除外しています。

# yum update --exclude=owncloud-files.noarch

kernel のアップデートがあった場合は、システムを再起動します。

# reboot

ownCloud マイナーバージョンの最新アップデートまで

9.0.6 から 現時点で最新版の 9.0.10 へアップデートを行います。

ownCloud の既存ファイルをバックアップします。

# cd /var/www/html/
# cp -piR owncloud owncloud.906

ownCloud のRPMパッケージをアップデートします。

# yum update owncloud-files\*

/var/www/html/owncloud が最新のパッケージに上書きされました。
ディレクトリの権限が apache に戻っているので、nginxに修正します。

# chown -R nginx. owncloud

ownCloud のデータベースをアップグレードします。

# sudo -u nginx .owncloud/occ upgrade

ownCloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Set log level to debug
Turned on maintenance mode
Checking whether the database schema can be updated (this can take a long time depending on the database size)
Checked database schema update
Checking updates of apps
Checked database schema update for apps
Updating database schema
Updated database
Starting code integrity check...
Finished code integrity check
Update successful
Turned off maintenance mode
Reset log level

独自に追加したアプリがアップグレード時に無効にされる場合は、この実行ログ部分に disable app アプリ名 などのように表示されるので、忘れずにチェックします。
アップグレード完了後、手動で有効にしましょう。

ownCloud メジャーバージョンのアップグレード

ownCloud 9.0.10 から ownCloud 9.1 系の最新版までアップグレードします。

公式パッケージは、owncloud.org のサイトを確認して取得するとよいです。
https://download.owncloud.org/download/repositories/stable/owncloud/

ownCloud 9.1 系のリポジトリをインストールします。
※リポジトリ名が ce_stable となったので、今後は10系なども同じリポジトリから提供されるのかもしれません。

# rpm --import https://download.owncloud.org/download/repositories/stable/CentOS_7/repodata/repomd.xml.key

# wget http://download.owncloud.org/download/repositories/stable/CentOS_7/ce:stable.repo -O /etc/yum.repos.d/ce:stable.repo

リポジトリデータのキャッシュをクリア

# yum clean expire-cache

ownCloud 9.1系へのアップデート

# yum update owncloud-files\*

あとはマイナーアップデート時と同様の手順を繰り返します。

# chown -R nginx. owncloud
# sudo -u nginx .owncloud/occ upgrade

ownCloud へブラウザでアクセスして、InternalServerError が出る場合は、最新のownCloudファイルが読み込まれていない可能性があるので、PHPの再起動などを行ってみるとよいでしょう。

# systemctl restart php-fpm