Nextcloudでコード整合性の問題を消す方法

※当ブログはアフィリエイト広告を利用しています。

自分専用のクラウドストレージとして使えるNextcloudは便利なのですが、アップデート後にエラー表示が出て困ることがあります。

今回は、Nextcloudのエラー表示の消し方について書きます。ただ、バージョン14を前提とした内容なので、他のバージョンの対処では参考にならないかもしれません。

コード整合性の確認で問題発生

先日Nextcloudのアップデートを行ったところ、管理画面の上部に「コード整合性の確認で問題が発生しました。詳しくはこちらX」という表示が出るようになりました。

表示以外に異常がないので、しばらく放置していたのですが、さすがに気になって「List of invalid files…」をクリックしたら、「.htaccess」の記述内容に問題があるとのこと。

ガテン系の僕には意味不明な内容となっていますが、どうやら最後のあたりにある文字列の部分が問題の箇所らしい。

更新前との比較

早速、問題の「.htaccess」を開いて上から見てくと、「#」から始まるコメント文が不自然な場所にあります。

# php — END cPanel-generated handler, do not edit#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####

追記の書き込みに失敗したのでしょうか?

PC側に保存してあった更新前の「.htaccess」を開いてみたら、問題の部分が別の場所にありました。

とりあえず、更新前と同じ内容にすべく、「# DO NOT ~」の部分を切り取り、更新前と同じ場所に貼り付けてからアップロードしたら、エラー表示が消えました。

一応解決はしたのですが、気になったので調べてみたら、サーバーソフトウェアのバージョンや種類によっては、途中からコメントを書く時に「”」で囲わないとエラーになることがあるそうです。

チェック機能を止める

国内の情報が少ないので、海外の情報についても調べたところ、Nextcloudのヘルプページに別の解決策が書いてありました。

Failed integrity check after manual upgrade
Hi folks, I see the following error after upgradin...

ここでの書き込みによると、「config.php」に以下の一行を追加してアップロードしろとのこと。

‘integrity.check.disabled’ => true,

この行の追記で整合性のチェックが止まるようです。
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 の処理に問題があったのかもしれませんね。