なんで git clone から構築してしまったんだろうね……()
v21.x.x あたりから occ
でも APCu を有効化する必要があるっぽい。アップグレード時だけならコマンドラインオプションで php -d apc.enable_cli=1 occ ...
とやっても良いけど news:updater:...
なんかでも結局必要になるっぽいので php.ini に書く。Ubuntu なら /etc/php/7.x/cli/php.ini
あたり。
なんで git clone から構築してしm() nextcloud/server の git リポジトリにはなんでか apps/viewer が存在していないので、別途アップグレード先のバージョンの tarball を落としてコピーする。
まず web サーバーは止める。
systemctl stop nginx
tar -czf /mnt/tekitou/nextcloud-server.211026.tar.gz ./server sudo -u postgres pg_dumpall | gzip -c > /mnt/tekitou/pg_dumpall.211026.gz
だいたい .htaccess
あたりに自動書き込みが走っているので雑に戻す。
git checkout .htaccess
ほんでアップグレード。
git checkout v22.2.0 git submodule update
このタイミングで前述の apps/viewer を入れ替える。既存のものがある場合は上書きではなくキッチリ消してから改めて tarball からコピーする。
rm -rf apps/viewer cp -r /mnt/tekitou/nextcloud/apps/viewer apps/viewer chown -R nextcloud:nextcloud apps/viewer
ほんでアップグレードコマンド投入
php occ upgrade
php occ db:add-missing-column
php occ db:add-missing-indices
php occ db:add-missing-primary-keys
php occ maintenance:mode --off
エラー出てなければ web サーバー上げる。
systemctl start nginx
以上、雑に。