Nextcloudのデータベースインデックスが見つからないという警告をクリアする
NextcloudのOCC修復を安全に実行し、データベースの変更をプレビューして、警告が残る理由を確認してください。
Nextcloudの「データベースにインデックスが不足しています」という警告を解消するには、occ db:add-missing-indices正しいNextcloudインストール環境からWebサーバーユーザーとして以下のコマンドを実行してください。このコマンドは、Nextcloudまたはインストール済みアプリによって定義されているものの、データベースに不足しているインデックスを追加します。また、最新のNextcloud 35のドキュメントによると、--dry-run実行前にSQLのプレビューが表示されます。

データベースインデックスは、データベースがテーブル全体をスキャンすることなく行を検索するのに役立つルックアップ構造です。Nextcloudとそのアプリは、クエリを改善するためにインデックスを追加することがあります。大規模なテーブルにインデックスを作成するには時間がかかり、実行中のパフォーマンスに影響を与える可能性があるため、アップグレード時にその作業は管理者に任される場合があります。インデックスが見つからないという警告は通常、メンテナンスを促すものであり、ファイルやデータベースレコードが破損していることを示すものではありません。
Nextcloudの最新のデータベースコマンドリファレンスでは、想定されるスキーマには存在するものの、現在のインストール環境には存在しないインデックスを追加する方法として説明されています。db:add-missing-indicesまた、最新のマニュアルでは、--dry-runSQLステートメントのプレビュー方法についても解説しています。具体的なインデックスは、Nextcloudのバージョンとインストールされているアプリによって異なります。
www-dataDebianまたはUbuntu、apacheFedoraまたはCentOS、およびhttpArch Linuxでよく見られます。NextcloudのOCCガイドによると、occOCCはサーバーのコマンドラインインターフェースであり、ファイルの所有権と権限を一定に保つためにHTTPユーザーとして実行する必要があるとのことです。www-dataインストール時に別のアカウントを使用している場合は、安易にOCCを使用しないでください。
Debian または Ubuntu に標準的なアーカイブをインストールするには、Nextcloud サーバーでシェルを開き、ファイルを含むディレクトリに移動しますocc。この例では を使用しています/var/www/nextcloudが、パスは異なる場合があります。
cd /var/www/nextcloud
sudo -E -u www-data php occ db:add-missing-indices --dry-run
ドライランでは、データベースを変更せずに実行されるSQLが出力されます。出力内容を確認し、想定どおりのメンテナンス操作であることを確認してください。この--dry-runオプションは最新のNextcloud 35マニュアルに記載されています。古いリリースでこのオプションが拒否される場合は、無作為にオプションを削除するのではなく、そのリリースのコマンドヘルプを確認してください。

変更を適用する準備ができたら、コロンなしでコマンドを実行してください--dry-run。
sudo -E -u www-data php occ db:add-missing-indices
Nextcloud は関連するテーブルをチェックし、進行状況を報告します。処理が完了するまで待ち、大きなテーブルの処理に予想以上に時間がかかっているからといってプロセスを中断しないでください。アップグレード マニュアルでは、このコマンドはインスタンスがオンラインのまま実行できる時間のかかるスキーマ タスクの一つとして記載されているため、通常はこの修復のためにメンテナンス モードを有効にする必要はありません。実行中は、データベースのメンテナンスを同時に行わないでください。

occNextcloudアプリケーションコンテナ内で実行してください。別のデータベースコンテナ内では実行しないでください。nextcloud通常のwww-dataアカウント名でコンテナ名が付けられている場合、コマンドは通常次のようになります。
docker exec --user www-data -it nextcloud php occ db:add-missing-indices
をアプリケーションコンテナの実際の名前に置き換えてくださいnextcloud。イメージまたはデプロイメントで別のコンテナユーザー、PHPバイナリ、またはコマンドラッパーを使用している場合は、そのイメージのドキュメントに従い、コマンドをHTTPユーザーとして実行し続けてください。
コマンドが完了したら、「管理設定」>「概要」を更新してください。Nextcloud のチェックでインデックスが認識されると、インデックス不足のメッセージは消えます。コマンドを再実行することもできます。同じ不足インデックスを再度追加する必要なく、処理が完了するはずです。これにより、スキーマチェックが追いついたことが確認できますが、データベース全体のパフォーマンスは測定されません。

occエラーが発生する可能性があると指摘しています。sudo -E -u www-data php occ db:schema:checkスキーマの差異を確認するために以下のコマンドを実行してください。現在のリファレンスでは、このチェックはバージョン35で追加されたとされています。それ以前のリリースでは、そのリリース向けに文書化されている診断ツールを使用してください。CREATE INDEXアプリまたはデータベースのメンテナーが、ご使用のスキーマに合ったステートメントを提供していない限り、手書きのステートメントは実行しないでください。本番サーバーの場合、警告が解消され、アプリケーションが正常に動作するようになるまで、データベースのバックアップを保持してください。Nextcloudのアップグレード手順には、オンラインメンテナンス作業とオプションのドライランについて記載されています。
NextcloudのOCC修復を安全に実行し、データベースの変更をプレビューして、警告が残る理由を確認してください。
PHP、Nginx、Apache、一時ストレージ、タイムアウトの設定を調整することで、Nextcloudブラウザからのより大きなファイルアップロードを可能にし、どの制限がファイルのアップロードを妨げているかを確認してください。
Nextcloudが実際に使用するPHPメモリの制限を設定し、該当するサービスを再起動して、管理画面の概要で512MBの設定を確認してください。
NextcloudのS3バックエンドを使用して、適切なエンドポイント、認証情報、アクセス範囲、および検証手順を設定し、互換性のあるオブジェクトストレージバケットをマウントします。
永続的なUUIDマウント、メンテナンスモード、検証済みコピー、および元のパスのシンボリックリンクを使用して、Linux Nextcloudのデータディレクトリを安全に外部ドライブに移動します。
SQLエラーの診断、データベース接続の確認、中断された移行の安全な完了を行うことで、アップデート後にNextcloudへのアクセスを復元します。
NextcloudのOCCコマンドを使用して、サーバーシェルから管理者パスワードをリセットする方法を説明します。ユーザー名、権限、外部ログインプロバイダーに関するガイダンスも含まれています。
NextcloudのHSTS警告を解消するには、Apache、NGINX、またはTLSプロキシでヘッダーを設定し、公開HTTPS応答が安全に動作することを確認してください。
App Storeのインストール失敗の原因を、DNS、HTTPS、プロキシ、TLS、またはNextcloudサーバー自体の設定の問題に絞り込んでください。
サムネイル作成作業を制御されたバックグラウンドスケジュールに移行し、使用されていないプレビューサイズをトリミングし、Nextcloudサーバーに過負荷をかけることなくキューを検証します。