nextcloud のバージョンアップ

CentOS 7 上に入れた nextcloud 14 を nextcloud 15 にするぞ。

nextcloud の管理メニュー内にあるアップグレードって使えるのかな。ちょっと不安なのでいつもコマンドラインでごっそり入れ替える方法を使ってしまいます。

まずダウンロード。

$ cd ~
$ wget https://download.nextcloud.com/server/releases/nextcloud-15.0.14.tar.bz2

インストール先、今回は /var/html/www/nextcloud を想定して、nextcloud をリネームして残し、まっさらな本体をインストールします。

$ cd /var/html/www
$ sudo -u apache php /var/www/html/nextcloud/occ maintenance:mode --on
$ systemctl stop httpd
$ mv nextcloud nextcloud-old
$ tar xf ~/nextcloud-15.0.14.tar.bz2
$ chmod -R apache:apache nextcloud

設定ファイルをコピーし、 データディレクトリが中にあればそれを移動してきます。

$ cp -p nextcloud-old/config/config.php nextcloud/config/
$ mv nextcloud-old/data nextcloud/

さあバージョンアップしよう。 occ upgrade コマンドは結構時間がかかるぞ。ぼくの手元では5分くらいかかった。

$ systemctl start httpd
$ sudo -u apache php /var/www/html/nextcloud/occ upgrade

バージョンアップすると「いくつかのテーブルにインデックスがない」とよく言われるので、先に手当てしておく。

$ sudo -u apache php /var/www/html/nextcloud/occ db:add-missing-indices
$ sudo -u apache php /var/www/html/nextcloud/occ maintenance:mode --off

メンテナンスモード切ってさあ新バージョンでサービス再開。

いまさら nextcloud 15 で使い続けるのもアレなので、同じ手順で nextcloud 16 や nextcloud 17 にバージョンアップしておこう。