nextcloud 12.0.3へのアップデートが失敗する場合の対処法
nextcloudを12.0.3へアップデートしようとしたところ、CLIからのアップグレード実行で
下記エラーメッセージがでてしまい先へ進めず。
PHP Fatal error: Class OCA\User_SAML\UserBackend contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (OCP\Authentication\IApacheBackend::getLogoutUrl) in /usr/share/nextcloud/apps/user_saml/lib/userbackend.php
調べたところ、githubでパッチが公開されいたので、そちらのパッチを適用します。
https://github.com/nextcloud/server/issues/6501
パッチの適用
cd /var/www/nextcloud/apps/user_saml/lib
wget https://github.com/nextcloud/user_saml/pull/145.patch
patch -p0 < 145.patch
File to patch:UserBackend.php
アップグレードが失敗している場合、メンテナンスモードのままとなっているため
configファイルを編集し、一度メンテナンスモードを解除します。
cd /var/www/nextcloud
vi config/config.php
‘maintenance’ => false, と変更しておきます。
適用完了後下記コマンドを実行し、nextcloudをアップグレードします。
cd /var/www/nextcloud
sudo -u apache php ./occ upgrade
正常に完了したら、ログインページよりログインし、管理ページ上でバージョンがあがっていることを確認します。