ownCloudのアップデート

妖狐鯖ではPHP 7.3が標準使用となっており、その関係でこれまでownCroud 10.1を動かすのにFastCGI(PHP-FPM)を使っていた(*1)のですが、バージョン10.3でPHP 7.3に正式対応したため入れ換えることになりました。
その際の手動更新手順を備忘録として残します。

*1: PHP-FPMを使うことで標準とは異なるバージョンのPHPを利用できるようになる。
 ただし、モジュール版と比べるとパフォーマンスが若干落ちる

1.インストールするownCloudを用意する

ダウンロードページにあるtarbollを/tmp等の場所へ適当に(σ・∀・)σゲッツ! し展開する。

# cd /tmp
# curl -LO "https://download.owncloud.org/community/owncloud-10.3.1.tar.bz2"
# tar xvf owncloud-10.3.1.tar.bz2

展開後、所有者およびパーミッションを変更する。

# chmod -R o-rwx owncloud
# chown -R apache. owncloud

2.ownCloudをメンテナンスモードにする

更新作業中にアクセスされることを防ぐため、メンテナンスモードに移行させる。

# cd /var/www/owncloud
# sudo -u apache ./occ maintenance:mode --on

※PHP-FPMを使っている場合はoccコマンドの前に対象バージョンのphpコマンド(php72等)を追加する

3.ownCloudのディレクトリを入れ換える

旧バージョンと新バージョンのディレクトリをリネームで入れ換える

# cd /var/www
# mv owncloud owncloud_old
# mv /tmp/owncloud .

設定ファイルおよび保持しているデータを旧バージョンのディレクトリからコピーする

# cd /var/www/owncloud
# cp -p /var/www/owncloud_old/config/config.php ./config/.
# cp -pr /var/www/owncloud_old/data .

4.アップグレード処理の実行

ownCloudのデータをアップグレードさせる。

# cd /var/www/owncloud
# sudo -u apache ./occ upgrade

Update successful と出力されればOK。

5.メンテナンスモードの解除

# sudo -u apache ./occ maintenance:mode --off

このあと、ownCloudのディレクトリに設定したPHP-FPM設定を解除し、httpdを再起動することでモジュール版PHP環境に戻す。

(セキュリティ上の穴となるので、不要であればPHP-FPMのサービスを停止しておくことも忘れない)