はじめに
プライベートのオンラインストレージをWebベースで構築できるNextcloud。
ブラウザ上からもアップデートなどを行えるのは大きな利点ですが:メンテナンス中にWebブラウザが落ちてしまった場合に
このようなメンテナンスモードが出ます。(ブラウザ上で処理ができなかったことが原因です)
サーバ自体を
sudo reboot
と再起動を行ってもその状態であることが多いです。
「処理が終わるまでブラウザを落とさず待つ」が正常な手順ですが、それを怠った場合のリカバリについてです。
動作環境
- Ubuntu 20.04
- Nextcloud
- Apache 2.4
- PHP8.1
さっくりとした手順
- Nextcloudサーバにアクセスします。
- 設定ファイルを書き換えます。
- Apacheサービスを再起動します。
- メンテナンスモードの解除を確認します。
Nextcloudサーバへのアクセス
cd /home/www-data/nextcloud/config && pwd
# 自分のディレクトリを指定します
コンフィグファイルのバックアップ
sudo cp -pi config.php /path/to/backup/directory/config.php.$(date +%Y%m%d)
ファイルの内容書き換え
sudo -u www-data sed -i "s/'maintenance' => true/'maintenance' => false/" config.php
# メンテナンスモードを無効化します。
apache2サービス再起動
sudo systemctl restart apache2.service
再起動後の確認
メンテナンスモードが解除されました。「アップデートを開始」をクリックします。(今度はブラウザを閉じないようにしましょう)
その後、NextcloudのWeb画面が出てきたので問題なくアップデートされました。