Startseite
» Gewusst wie
»
Fehlerbehebung bei Nextcloud-App-Installationen, die keine Internetverbindung melden
Fehlerbehebung bei Nextcloud-App-Installationen, die keine Internetverbindung melden
Seit Nextcloud 33 ist das Timeout für App-Store-Metadatenanfragen standardmäßig auf 120 Sekunden eingestellt und kann angepasst werden occ. Dies kann bei langsamen Antwortzeiten helfen. Die Meldung „App konnte nicht installiert werden, da der Server keine Internetverbindung hat“ sollte jedoch zuerst auf dem Server oder im Container, in dem Nextcloud ausgeführt wird, überprüft werden – nicht im Browser.
Testen Sie den App-Store-Endpunkt über die Nextcloud-Laufzeitumgebung und beheben Sie anschließend den spezifischen Fehler: DNS, ausgehendes HTTPS, Proxy-Konfiguration, Zertifikatsvertrauen oder eine App-Store-Einstellung. Die Meldung ist allgemein gehalten; sie beweist nicht, dass der gesamte Server offline ist.
1. Prüfen Sie, wo die Installation fehlschlägt.
Prüfen Sie, ob alle Apps oder nur eine fehlschlägt. Falls der Katalog geladen wird, sich aber eine App nicht installieren lässt, prüfen Sie die Kompatibilität mit der Nextcloud-Version und die Berechtigungen im App-Verzeichnis; dies deutet nicht zwangsläufig auf ein Netzwerkproblem hin.
Um eine aussagekräftigere Fehlermeldung zu erhalten, versuchen Sie die Installation über die Kommandozeile. Bei erfolgreicher Installation wird die Anwendung installiert. Verwenden Sie daher die gewünschte Anwendungs-ID. Führen Sie die Installation als HTTP-Benutzer aus, um die Dateibesitzrechte zu erhalten. Unter Debian oder Ubuntu:
Ersetzen Sie news<App-ID> durch die benötigte App-ID. Führen Sie in Docker den Befehl im Nextcloud-App-Container als dessen Webbenutzer aus. Vergleichen Sie die vollständige Ausgabe mit der vorherigen nextcloud.log; Kompatibilitäts- oder Berechtigungsfehler erfordern eine andere Lösung als DNS-Fehler.
Abbildung: Ein Serverterminal stellt die Überprüfung der Konnektivität durch die Nextcloud-Laufzeitumgebung dar; es handelt sich nicht um ein protokolliertes Testergebnis.
2. DNS und HTTPS von der Nextcloud-Laufzeitumgebung aus testen
Führen Sie diese Prüfungen dort durch, wo der PHP-Prozess von Nextcloud läuft. Eine erfolgreiche Anfrage von Ihrem Laptop oder Docker-Host beweist nicht, dass der Anwendungscontainer über denselben Netzwerkzugriff verfügt.
Die Standard-App-Store-URL lautet [URL https://apps.nextcloud.com/api/v1einfügen]. Nextcloud ruft Metadaten wie [URL einfügen] categories.jsonvon dieser URL ab. DNS sollte eine Adresse zurückgeben und HTTPS eine Antwort. Namensauflösungsfehler oder Timeouts deuten auf Probleme mit DNS, Routing, Firewall oder Proxy hin; TLS-Fehler deuten auf Probleme mit dem Zertifikatsvertrauen oder der Systemzeit hin. Ein HTTP-Fehler bedeutet, dass der Server geantwortet hat; überprüfen Sie daher die URL und die Proxy-Antwort.
Führen Sie die Prüfungen in Docker im Nextcloud-Anwendungscontainer aus. Stellen Sie sicher, dass DNS funktioniert und ausgehender TCP-Verkehr über Port 443 erlaubt ist. Falls ein Proxy die Zieladressen filtert, überprüfen Sie die Nextcloud-Protokolle auf Hostnamen von App-Store-Downloads sowie auf den Kataloghost.
Abbildung: Diagnosekategorien für DNS, HTTPS und Zertifikatsvertrauen; die grünen Indikatoren sind keine Ergebnisse von diesem Server.
3. Proxy- oder TLS-Probleme beheben, ohne die Sicherheit zu beeinträchtigen
Wenn ausgehender Datenverkehr einen Proxy erfordert, konfigurieren Sie diesen für den PHP/HTTP-Client von Nextcloud, nicht nur für den Browser oder die Shell des Administrators. Nextcloud unterstützt proxyoptionale Einstellungen. Geben Sie die Proxy-Zugangsdaten nicht weiter. Prüfen Sie proxyuserpwd, proxyexcludeob PHP-FPM und die CLI dieselbe HTTPS_PROXYUmgebung verwenden NO_PROXY.
Bei TLS-Fehlern überprüfen Sie die Serveruhr und aktualisieren Sie das CA-Bundle des Betriebssystems. Wenn ein zugelassener Unternehmens-Inspektionsproxy verwendet wird, fügen Sie dessen vertrauenswürdige Zertifizierungsstelle zur PHP-Laufzeitumgebung hinzu. Deaktivieren Sie die TLS-Verifizierung nicht und verwenden Sie sie nicht curl -kfür App-Store-Anfragen; dies schwächt den Schutz vor einem gefälschten Download-Host.
Beispiel: Überprüfen Sie die Nextcloud-Konfiguration für ausgehende Proxy- und App-Store-Einstellungen, ohne dabei Anmeldeinformationen preiszugeben.
4. Überprüfen Sie die App-Store-URL und die Installationsberechtigungen.
Der App Store ist standardmäßig aktiviert und seine Standard-URL lautet [URL einfügen] https://apps.nextcloud.com/api/v1. Überprüfen config/config.phpoder fragen Sie die effektiven Werte mit folgendem Befehl ab occ:
Wenn appstoreenabledder Wert explizit auf „false“ gesetzt ist, aktivieren Sie die Option nur, wenn Ihre Richtlinie den öffentlichen App Store zulässt. Falls appstoreurlein Verweis auf einen alten oder nicht erreichbaren benutzerdefinierten Store verweist, stellen Sie die Standardeinstellung nur dann wieder her, wenn Sie den öffentlichen App Store von Nextcloud nutzen möchten. Organisationen, die einen selbstgehosteten App Store verwenden, sollten die URL beibehalten und stattdessen DNS, Zertifikat oder Zugriffspfad reparieren.
Wenn der Katalog geladen wird, die Installation aber weiterhin fehlschlägt, überprüfen Sie die apps_pathsEinträge in der effektiven Konfiguration. Mindestens ein konfiguriertes App-Verzeichnis muss für den Nextcloud-Webserver-Benutzer beschreibbar sein. Korrigieren Sie den Verzeichnisbesitzer bzw. die Gruppe und die entsprechenden Schreibberechtigungen; das Verzeichnis darf nicht für alle Benutzer beschreibbar sein. Eine App, die durch eine organisationsweite Zulassungsliste blockiert wird oder mit Ihrer Nextcloud-Version inkompatibel ist, erfordert ebenfalls eine Administrator-Richtlinie oder Versionsentscheidung, keine Netzwerkänderung.
5. Versuchen Sie es erneut und passen Sie das Timeout nur dann an, wenn Anzeichen für eine Langsamkeit vorliegen.
Nachdem DNS-, HTTPS-, Proxy-, TLS- und Konfigurationsprüfungen erfolgreich waren, versuchen Sie die Installation über die Seite „Apps“ oder mit demselben occ app:installBefehl erneut. Falls die Anfrage zwar erreichbar ist, aber dauerhaft länger als das konfigurierte Metadaten-Timeout dauert, kann dieses in Nextcloud 33 und höher erhöht werden. Beispiel:
Dadurch erhöht sich die Wartezeit auf 180 Sekunden; blockierte ausgehende Verbindungen, fehlerhafte Zertifikate oder falsche Speicher-URLs werden dadurch nicht behoben. Der dokumentierte Standardwert beträgt in Nextcloud 33 und höher 120 Sekunden. So entfernen Sie eine Überschreibung und stellen den Standardwert wieder her:
Für einen absichtlich vom Internet isolierten Server ist ein zugelassener, selbst gehosteter App Store die empfohlene Konfigurationsmethode. Versuchen Sie nicht, die Störung durch Herunterladen einer beliebigen App-ZIP-Datei und deren Ablage im App-Verzeichnis zu beheben; verwenden Sie stattdessen eine vertrauenswürdige Quelle und vergewissern Sie sich, dass die Version mit Ihrem Server kompatibel ist.
Abbildung: eine generische Befehls- und Protokollansicht; die tatsächlichen Fehlerdetails müssen vom betroffenen Server stammen.
Überprüfung
Vergewissern Sie sich, dass der App-Store-Katalog geladen wird, die gewünschte App installiert wird und in der Liste der aktivierten Apps erscheint und im Protokoll kein Verbindungs-, TLS- oder Timeout-Fehler mehr für den Versuch protokolliert wird. Wenn der Endpunkt von der Nextcloud-Laufzeitumgebung antwortet, die Benutzeroberfläche aber weiterhin anzeigt, dass keine Internetverbindung besteht, vergleichen Sie die App-Store-URL und -Einstellungen, prüfen Sie die Unterschiede in der Proxy-Umgebung zwischen PHP-FPM und CLI und stellen Sie sicher, dass nur eine App blockiert oder inkompatibel ist.