有馬総一郎のブログ

(彼氏の事情)

2020年12月05日 19:33:24 JST - 2 minute read - Linux

Nextcloudアップグレード

Nextcloudはメジャーバージョンを一個ずつしかアップグレードできない。

以前、17から19にいきなり上げようとしたらエラーになった。なので、アップグレードは

16.0.3
↓
17.0.10
↓
18.0.11
↓
19.0.5
↓
20.0.2

と行っていく必要がある。

コマンドでの前処理

PGPによる署名の確認1ぐらいはした方がいいのかな?あとファイルサイズチェックも。

sudo service apache2 stop
wget https://download.nextcloud.com/server/releases/nextcloud-20.0.2.tar.bz2
wget https://download.nextcloud.com/server/releases/nextcloud-20.0.2.tar.bz2.asc
wget https://download.nextcloud.com/server/releases/nextcloud-20.0.2.tar.bz2.md5
wget https://nextcloud.com/nextcloud.asc
md5sum -c nextcloud-20.0.2.tar.bz2.md5 < nextcloud-20.0.2.tar.bz2
gpg --verify nextcloud-20.0.2.tar.bz2.asc nextcloud-20.0.2.tar.bz2
gpg --import nextcloud.asc
tar -xjf nextcloud-20.0.2.tar.bz2
rm nextcloud.asc
rm nextcloud-20.0.2.tar.bz2.md5
sudo mv /var/www/nextcloud /var/www/nextcloud_bak
sudo mv nextcloud /var/www/nextcloud
sudo cp /var/www/nextcloud_bak/config/config.php /var/www/nextcloud/config/
sudo vi /var/www/nextcloud/config/config.php
sudo chown -R www-data:www-data /var/www/nextcloud
sudo service apache2 restart
less /var/log/apache2/access.log
less /var/log/apache2/error.log

ブラウザで最後のアップグレード開始

Nextcloud Upgrade
Nextcloud Upgrade
Nextcloud Upgrade

Permission deniedなエラー

sudo chown www-data:www-data /var/www/nextcloud/config/config.phpを実行し忘れて、起動するとエラー。うん?と思ってログを確認すると。

[Wed Aug 05 13:20:04.849209 2020] [php7:warn] [pid 1681] [client fe80::38a1:cd78:6ae8:24e8:62000] PHP Warning:  fopen(/var/www/nextcloud/config/config.php): failed to open stream: Permission denied in /var/www/nextcloud/lib/private/config.php on line 187
[Wed Aug 05 13:20:04.849344 2020] [php7:warn] [pid 1681] [client fe80::38a1:cd78:6ae8:24e8:62000] PHP Warning:  flock() expects parameter 1 to be resource, bool given in /var/www/nextcloud/lib/private/config.php on line 197
[Wed Aug 05 13:20:04.851514 2020] [php7:error] [pid 1681] [client fe80::38a1:cd78:6ae8:24e8:62000] PHP Fatal error:  Uncaught Error: Call to a member function getLogger() on null in /var/www/nextcloud/lib/public/util.php:166\nStack trace:\n#0 /var/www/nextcloud/index.php(51): OCP\\Util::logException()\n#1 {main}\n  thrown in /var/www/nextcloud/lib/public/util.php on line 16

所有者がrootで、権限が640になっていた。

ubuntu:~$ ls -l /var/www/nextcloud/config/config.php
-rw-r----- 1 root root 780  8月  5 13:19 /var/www/nextcloud/config/config.php

17から18にアップグレードするときに出るエラー

17から18にアップグレードさせようとすると、エラーが起きた。↓とまさに自分のケース。この時、マイナーバージョンは余り関係なく、メジャーバージョンが17から18に行くとき出てたようだ。今もそうなのは確認していない。

Repair error during upgrade from 17.0.2 to 18.0.0 · Issue #19102 · nextcloud/server · GitHub

なので言われたとおり、以下のコマンドを一つ一つ実行。

sudo -u www-data php occ maintenance:mode --on
sudo -u www-data php occ upgrade
sudo -u www-data php occ db:add-missing-indices
sudo -u www-data php occ db:convert-filecache-bigint
sudo -u www-data php occ maintenance:mimetype:update-js
sudo -u www-data php occ maintenance:mimetype:update-db
sudo -u www-data php occ maintenance:theme:update
sudo -u www-data php occ maintenance:update:htaccess
sudo -u www-data php occ maintenance:repair
sudo -u www-data php occ maintenance:mode --off

それで良く知らんが成功。


  1. それでも"この鍵は信用できる署名で証明されていません"との警告は出る。 ↩︎

Tags: Ubuntu Server Nextcloud

Nextcloudインストール KeeWebこそChromebookユーザーのためのパスワード管理ツールだ