自分専用のクラウドストレージとして使えるNextcloudは便利なのですが、アップデート後にエラー表示が出て困ることがあります。
今回は、Nextcloudのエラー表示の消し方について書きます。ただ、バージョン14を前提とした内容なので、他のバージョンの対処では参考にならないかもしれません。
コード整合性の確認で問題発生
先日Nextcloudのアップデートを行ったところ、管理画面の上部に「コード整合性の確認で問題が発生しました。詳しくはこちらX」という表示が出るようになりました。
表示以外に異常がないので、しばらく放置していたのですが、さすがに気になって「List of invalid files…」をクリックしたら、「.htaccess」の記述内容に問題があるとのこと。
ガテン系の僕には意味不明な内容となっていますが、どうやら最後のあたりにある文字列の部分が問題の箇所らしい。
更新前との比較
早速、問題の「.htaccess」を開いて上から見てくと、「#」から始まるコメント文が不自然な場所にあります。
追記の書き込みに失敗したのでしょうか?
PC側に保存してあった更新前の「.htaccess」を開いてみたら、問題の部分が別の場所にありました。
とりあえず、更新前と同じ内容にすべく、「# DO NOT ~」の部分を切り取り、更新前と同じ場所に貼り付けてからアップロードしたら、エラー表示が消えました。
一応解決はしたのですが、気になったので調べてみたら、サーバーソフトウェアのバージョンや種類によっては、途中からコメントを書く時に「”」で囲わないとエラーになることがあるそうです。
チェック機能を止める
国内の情報が少ないので、海外の情報についても調べたところ、Nextcloudのヘルプページに別の解決策が書いてありました。
ここでの書き込みによると、「config.php」に以下の一行を追加してアップロードしろとのこと。
この行の追記で整合性のチェックが止まるようです。
config.phpは、プログラムを設置した場所にある「config」の中にあります。
物は試しということで、エラーが出た時の「.htaccess」をアップロードして上書きし、先ほどの行を追記したconfig.phpをアップロードして上書きしたら、エラー表示が消えました。
ただ、管理画面の「設定」にある「概要」をクリックすると、一番上の「セキュリティ&セットアップ警告」でconfig.phpの問題が指摘されます。
セキュリティ面を考えると、チェック機能を止めるというのはよろしくないかもしれませんね。
バージョン15で解消?
数日後、バージョン15への更新を促す通知がメールで届いたので、早速アップデートしたところ、今回はコードの整合性に関する表示が出ませんでした。
しかし、管理画面の「概要」にある「セキュリティ&セットアップ警告」では以前と同じ「.htaccess」の問題が指摘されます。
問題が完全に解消したわけではありませんが、クラウドストレージとしては問題なく使えているので、しばらくは様子を見ようと思います。
<追記>インストーラーの問題?
この記事を書いた時はMixhostを使っていて、cPanelにある「Softaculous Apps Installer」でNextcloudをアップデートしていたのですが、カラフルボックスに移転してからはエラーが出なくなりました。
カラフルボックスではcPanelにある「Installatron Applications Installer」でプログラムを管理できるので、アップデートも同プログラムで行います。
移転後はMixhostを使っていないのでエラーの有無が不明なのですが、ひょっとすると Softaculous Apps Installer の処理に問題があったのかもしれませんね。