インターネット接続がないと報告されるNextcloudアプリのインストールに関するトラブルシューティング

Nextcloud 33以降、App Storeのメタデータリクエストのタイムアウトはデフォルトで120秒に設定されており、で調整できますocc。これは応答が遅い場合に役立ちますが、「サーバーにインターネット接続がないため、アプリをインストールできませんでした」というメッセージは、ブラウザからではなく、Nextcloudを実行しているサーバーまたはコンテナから最初に確認する必要があります。

NextcloudのランタイムからApp Storeエンドポイントをテストし、DNS、送信HTTPS、プロキシ設定、証明書の信頼性、またはApp Storeの設定など、具体的なエラーを修正してください。このメッセージは一般的なものであり、サーバー全体がオフラインであることを証明するものではありません。

1. インストールが失敗する箇所を確認します。

すべてのアプリが失敗するのか、それとも1つのアプリだけが失敗するのかを確認してください。カタログは読み込まれるものの、1つのアプリがインストールされない場合は、そのアプリのNextcloudバージョンとの互換性とアプリディレクトリのアクセス許可を確認してください。これは必ずしもネットワークの問題ではありません。

より明確なエラーを確認するには、コマンドラインからインストールを試してください。インストールが成功すればアプリがインストールされますので、目的のアプリIDを使用してください。ファイルの所有権を維持するため、HTTPユーザーとして実行してください。DebianまたはUbuntuの場合:

sudo -u www-data php /var/www/nextcloud/occ app:install news

必要なアプリ ID に置き換えてくださいnews。Docker では、Nextcloud アプリ コンテナ内で Web ユーザーとしてコマンドを実行します。出力全体を比較してください。nextcloud.log互換性エラーや権限エラーは、DNS の失敗とは異なる修正が必要です。

抽象的なDNSおよびHTTPSコマンドラインと緑色のステータスインジケーターを備えた暗いサーバーターミナル
図:サーバー端末は、Nextcloudランタイムからの接続確認を表しています。これは記録されたテスト結果ではありません。

2. NextcloudランタイムからDNSとHTTPSをテストする

NextcloudのPHPプロセスが実行される場所で、これらのチェックを実行してください。ラップトップやDockerホストからのリクエストが成功したとしても、アプリコンテナが同じネットワークアクセス権を持っているとは限りません。

getent ahosts apps.nextcloud.com
curl -sS --connect-timeout 10 --max-time 30 -o /dev/null -w 'HTTP %{http_code}' https://apps.nextcloud.com/api/v1/categories.json

デフォルトの App Store URL は ですhttps://apps.nextcloud.com/api/v1。Nextcloud は、 などのメタデータをcategories.jsonそこから取得します。DNS はアドレスを返し、HTTPS は応答を返す必要があります。名前解決エラーまたはタイムアウトは、DNS、ルーティング、ファイアウォール、またはプロキシの問題を示しています。TLS エラーは、証明書の信頼性またはシステム時刻の問題を示しています。HTTP エラーは、サーバーが応答したことを意味するため、URL とプロキシの応答を確認してください。

Docker環境では、Nextcloudアプリケーションコンテナ内でチェックを実行します。DNSが正しく機能し、送信TCPポート443が許可されていることを確認してください。プロキシが宛先をフィルタリングしている場合は、Nextcloudのログを調べて、App Storeのダウンロードホスト名とカタログホストがないか確認してください。

DNS、クラウドアクセス、証明書の各行が個別に表示されたネットワーク診断パネル
図:DNS、HTTPS、および証明書の信頼性に関する診断カテゴリ。緑色のインジケーターは、このサーバーからの結果ではありません。

3. セキュリティを損なうことなく、プロキシまたはTLSの問題を修正する

送信トラフィックにプロキシが必要な場合は、管理者のブラウザやシェルだけでなく、Nextcloud の PHP/HTTP クライアント用にプロキシを設定してください。Nextcloud はproxy、オプションのproxyuserpwd、および設定をサポートしています。プロキシ認証情報は非公開にしてください。PHP-FPM と CLI が同じまたは環境proxyexcludeを継承しているかどうかを確認してください。HTTPS_PROXYNO_PROXY

TLSエラーが発生した場合は、サーバーの時計を確認し、OSのCAバンドルを更新してください。承認済みの企業検査プロキシを使用している場合は、その信頼できるCAをPHPランタイムに追加してください。App curl -kStoreリクエストでTLS検証を無効にしたり、使用したりしないでください。これは、なりすましダウンロードホストに対する保護を弱めることになります。

ハイライトされた設定項目がいくつか含まれたPHP設定配列を表示するコードエディタ
図:認証情報を公開せずに、Nextcloudの設定におけるアウトバウンドプロキシとApp Storeの設定を確認する。

4. App StoreのURLとインストール権限を確認する

App Storeはデフォルトで有効になっており、デフォルトのURLは です。有効な値をhttps://apps.nextcloud.com/api/v1確認または照会するには、以下を使用してください。config/config.phpocc

sudo -u www-data php /var/www/nextcloud/occ config:system:get appstoreenabled
sudo -u www-data php /var/www/nextcloud/occ config:system:get appstoreurl

が明示的に false の場合はappstoreenabled、ポリシーでパブリックストアが許可されている場合にのみ有効にしてください。appstoreurl古いカスタムストアまたはアクセスできないカスタムストアを指している場合は、Nextcloud のパブリック App Store を使用する予定がある場合にのみデフォルトに戻してください。セルフホスト型の App Store を使用している組織は、その URL を保持し、代わりに DNS、証明書、またはアクセス パスを修復する必要があります。

カタログが読み込まれるものの、インストールが失敗する場合は、apps_paths有効な構成のエントリを確認してください。少なくとも1つの構成済みアプリディレクトリは、Nextcloudウェブサーバーユーザーが書き込み可能である必要があります。ディレクトリの所有者またはグループと、その書き込み権限を修正してください。ディレクトリをすべてのユーザーが書き込み可能にしないでください。組織の許可リストによってブロックされているアプリ、またはNextcloudのリリースと互換性のないアプリは、ネットワークの変更ではなく、管理者のポリシーまたはバージョンの決定が必要です。

5. 再試行し、遅延の兆候が見られる場合にのみタイムアウトを調整する。

DNS、HTTPS、プロキシ、TLS、および構成チェックに合格したら、アプリページから、または同じocc app:installコマンドを使用してインストールを再試行してください。リクエストに到達できるものの、設定されたメタデータタイムアウトよりも常に時間がかかる場合は、Nextcloud 33以降でタイムアウト値を高く設定できます。例:

sudo -u www-data php /var/www/nextcloud/occ config:app:set settings appstore-timeout --value=180

これにより待機時間が180秒に延長されますが、ブロックされた送信、不正な証明書、または誤ったストアURLは修復されません。Nextcloud 33以降では、ドキュメントに記載されているデフォルト値は120秒です。オーバーライドを削除してデフォルトに戻すには:

sudo -u www-data php /var/www/nextcloud/occ config:app:delete settings appstore-timeout

意図的にエアギャップされたサーバーの場合、承認済みのセルフホスト型アプリストアがサポートされる構成方法です。任意のアプリのZIPファイルをダウンロードしてアプリディレクトリに配置することで障害を解決しようとしないでください。信頼できるソースを使用し、リリースがサーバーと一致していることを確認してください。

アプリのインストールコマンドとエラー部分が強調表示されたターミナル画面
図:一般的なコマンドとログの表示例。実際のエラー詳細は、影響を受けるサーバーから取得する必要があります。

検証

App Store カタログが読み込まれ、目的のアプリがインストールされ、有効なアプリ一覧に表示されること、そしてログに試行時の接続、TLS、タイムアウトのエラーが記録されなくなったことを確認してください。エンドポイントが Nextcloud のランタイムから応答しているにもかかわらず、UI にインターネット接続がないと表示される場合は、App Store の URL と設定を比較し、PHP-FPM と CLI のプロキシ環境の違いを確認し、1 つのアプリのみがブロックされているか、互換性がないかどうかを確認してください。

参照: Nextcloud アプリ管理と App Store 設定; Nextcloud OCC アプリと構成コマンド;プロキシの Nextcloud 構成パラメータ; Nextcloud App Store メタデータ エンドポイント。

コメントを残す

インターネット接続がないと報告されるNextcloudアプリのインストールに関するトラブルシューティング

インターネット接続がないと報告されるNextcloudアプリのインストールに関するトラブルシューティング

App Storeのインストール失敗の原因を、DNS、HTTPS、プロキシ、TLS、またはNextcloudサーバー自体の設定の問題に絞り込んでください。

スケジュールされたキューを使用して、NextcloudプレビューのCPUスパイクを抑制する

サムネイル作成作業を制御されたバックグラウンドスケジュールに移行し、使用されていないプレビューサイズをトリミングし、Nextcloudサーバーに過負荷をかけることなくキューを検証します。

Nextcloudデスクトップ同期で「ファイルの処理中」を解消しましょう

Nextcloudの同期を妨げているファイル、除外ルール、接続の問題、またはクライアントデータベースの状態を特定し、アップロードとダウンロードが安全に行われることを確認します。

適切な制限値を調整して、Nextcloud OPcache の警告を解消する

Nextcloudの警告を引き起こしているPHP OPcacheの制限値を特定し、適切なWeb PHP設定を更新し、安全に再起動して、結果を確認してください。

NextcloudをCODE Dockerに接続する:セットアップとトレードオフ

NextcloudをCODE Dockerに接続する:セットアップとトレードオフ

組み込みのCODEとDockerベースのCODEを比較し、安全なHTTPSリバースプロキシを介してCollabora OnlineをNextcloudに接続します。

Galeraを使用して、回復力の高いNextcloudクラスターを構築する

共有ストレージ、Redisロック、クォーラム対応MariaDBルーティング、および実用的なフェイルオーバーチェックを備えた、信頼性の高いNextcloud HAデプロイメントを計画します。

Direct Mediaが失敗した場合にNextcloud Talkの通話を繋ぐ方法

Direct Mediaが失敗した場合にNextcloud Talkの通話を繋ぐ方法

ファイアウォールや制限的なNATによって直接通話メディアがブロックされる場合に、Nextcloud Talk用の到達可能なTURNリレーを設定および検証します。

適切なファイルを復元してNextcloudの整合性警告を解消する

無効ファイルレポートを使用して、変更された、欠落している、または余分な Nextcloud コードを特定し、信頼できるファイルを安全に復元し、結果を確認します。

OAuth2を使用してGmailまたはMicrosoft 365をNextcloudメールに接続する

Nextcloud MailでGmailまたはMicrosoft 365を使用してOAuth2を設定し、送受信を確認し、一般的な同意エラーやSMTPエラーを解決します。

OCCを使用してNextcloudのメンテナンスモードを安全に解除します。

OCCを使用してNextcloudのメンテナンスモードを安全に解除します。

OCCを使用してNextcloudへのアクセスを復元し、データベース移行のステータスを確認し、アーカイブ、Docker、またはSnapのインストールに適したコマンドを選択します。