Rozwiązywanie problemów z instalacjami aplikacji NextCloud, które zgłaszają brak połączenia z Internetem

Od wersji NextCloud 33 limit czasu żądania metadanych App Store domyślnie wynosi 120 sekund i można go dostosować za pomocą occ. Pomaga to w przypadku powolnej odpowiedzi, ale komunikat „Nie można zainstalować aplikacji, ponieważ serwer nie ma dostępu do internetu” należy najpierw sprawdzić na serwerze lub w kontenerze, na którym działa NextCloud, a nie w przeglądarce.

Przetestuj punkt końcowy App Store z poziomu środowiska wykonawczego NextCloud, a następnie napraw konkretny błąd: DNS, wychodzący protokół HTTPS, konfigurację serwera proxy, zaufanie certyfikatu lub ustawienie App Store. Komunikat jest ogólny i nie dowodzi, że cały serwer jest offline.

1. Sprawdź, gdzie instalacja się nie powiodła

Sprawdź, czy wszystkie aplikacje, czy tylko jedna, nie działają. Jeśli katalog się ładuje, ale jedna aplikacja nie instaluje się, sprawdź jej zgodność z wersją NextCloud i uprawnienia do katalogu aplikacji; nie musi to oznaczać problemu z siecią.

Aby uzyskać bardziej czytelny błąd, spróbuj instalacji z wiersza poleceń. Aplikacja zostanie zainstalowana, jeśli się powiedzie, więc użyj właściwego identyfikatora aplikacji. Uruchom ją jako użytkownik HTTP, aby zachować prawa własności do pliku. W systemie Debian lub Ubuntu:

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

Zastąp newspotrzebnym identyfikatorem aplikacji. W Dockerze uruchom polecenie w kontenerze aplikacji Nextcloud jako jego użytkownik sieciowy. Porównaj pełne dane wyjściowe z nextcloud.log; błędy zgodności lub uprawnień wymagają innego rozwiązania niż awarie DNS.

Ciemny terminal serwera z abstrakcyjnymi wierszami poleceń DNS i HTTPS oraz zielonym wskaźnikiem stanu
Ilustracja: terminal serwerowy przedstawia sprawdzanie łączności z poziomu środowiska uruchomieniowego Nextcloud. Nie jest to zarejestrowany wynik testu.

2. Przetestuj DNS i HTTPS z poziomu środowiska wykonawczego Nextcloud

Przeprowadź te sprawdzenia, gdy uruchomiony jest proces PHP w NextCloud. Pomyślne żądanie z laptopa lub hosta Dockera nie dowodzi, że kontener aplikacji ma ten sam dostęp do sieci.

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

Domyślny adres URL App Store to https://apps.nextcloud.com/api/v1; Nextcloud pobiera z niego metadane, takie jak categories.json. DNS powinien zwrócić adres, a HTTPS powinien zwrócić odpowiedź. Błędy rozpoznawania nazw lub przekroczenia limitu czasu wskazują na DNS, routing, zaporę sieciową lub serwer proxy; błędy TLS wskazują na zaufanie certyfikatu lub czas systemowy. Błąd HTTP oznacza, że ​​serwer odpowiedział, więc sprawdź adres URL i odpowiedź serwera proxy.

W Dockerze uruchom sprawdzanie kontenera aplikacji Nextcloud. Upewnij się, że DNS działa i że ruch wychodzący TCP 443 jest dozwolony. Jeśli serwer proxy filtruje miejsca docelowe, sprawdź logi Nextcloud pod kątem nazw hostów pobierania App Store oraz hosta katalogu.

Panel diagnostyki sieci z oddzielnymi wierszami DNS, dostępu do chmury i certyfikatów
Ilustracja: kategorie diagnostyczne dla DNS, HTTPS i zaufania certyfikatu; zielone wskaźniki nie są wynikami z tego serwera.

3. Rozwiąż problemy z serwerem proxy lub TLS bez osłabiania zabezpieczeń

Jeśli ruch wychodzący wymaga serwera proxy, skonfiguruj go dla klienta PHP/HTTP Nextcloud, a nie tylko dla przeglądarki lub powłoki administratora. Nextcloud obsługuje ustawienia proxy, opcjonalne proxyuserpwdi proxyexclude. Zachowaj poufność danych uwierzytelniających serwera proxy. Sprawdź, czy PHP-FPM i CLI dziedziczą to samo HTTPS_PROXYśrodowisko NO_PROXY.

W przypadku błędów TLS sprawdź zegar serwera i zaktualizuj pakiet urzędu certyfikacji systemu operacyjnego. Jeśli używany jest zatwierdzony korporacyjny serwer proxy do inspekcji, dodaj jego zaufany urząd certyfikacji do środowiska wykonawczego PHP. Nie wyłączaj weryfikacji TLS ani nie używaj jej curl -kw przypadku żądania App Store, ponieważ osłabia to ochronę przed podszywającym się hostem pobierania.

Edytor kodu pokazujący tablicę konfiguracji PHP z kilkoma wyróżnionymi ustawieniami
Ilustracja: sprawdź konfigurację Nextcloud pod kątem serwera proxy wychodzącego i ustawień App Store bez ujawniania danych uwierzytelniających.

4. Sprawdź adres URL App Store i uprawnienia instalacji

App Store jest domyślnie włączony, a jego domyślny adres URL to https://apps.nextcloud.com/api/v1. Sprawdź config/config.phplub zapytaj o wartości efektywne za pomocą occ:

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

Jeśli appstoreenabledparametr ma wartość fałsz, włącz go tylko wtedy, gdy polityka zezwala na publiczny sklep. Jeśli appstoreurlwskazuje na stary lub niedostępny sklep niestandardowy, przywróć ustawienia domyślne tylko wtedy, gdy zamierzasz korzystać z publicznego sklepu z aplikacjami NextCloud. Organizacje korzystające z samodzielnie hostowanego sklepu z aplikacjami powinny zachować ten adres URL i zamiast tego naprawić jego ustawienia DNS, certyfikat lub ścieżkę dostępu.

Jeśli katalog się załaduje, ale instalacja nadal się nie powiedzie, sprawdź apps_pathswpisy w obowiązującej konfiguracji. Przynajmniej jeden skonfigurowany katalog aplikacji musi mieć uprawnienia do zapisu dla użytkownika serwera WWW Nextcloud. Popraw właściciela lub grupę katalogu oraz jego uprawnienia do zapisu; nie ustawiaj uprawnień do zapisu dla wszystkich użytkowników. Aplikacja, która jest blokowana przez listę dozwolonych w organizacji lub jest niezgodna z Twoją wersją Nextcloud, również wymaga polityki administratora lub decyzji dotyczącej wersji, a nie zmiany sieci.

5. Spróbuj ponownie, a następnie dostosuj limit czasu tylko wtedy, gdy dowody wskazują na powolność

Po pomyślnym sprawdzeniu DNS, HTTPS, proxy, TLS i konfiguracji, spróbuj ponownie przeprowadzić instalację ze strony aplikacji lub za pomocą tego samego occ app:installpolecenia. Jeśli żądanie jest osiągalne, ale stale trwa dłużej niż skonfigurowany limit czasu metadanych, NextCloud 33 i nowsze wersje mogą ustawić go na wyższy. Na przykład:

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

Wydłuża to czas oczekiwania do 180 sekund; nie naprawia zablokowanego ruchu wychodzącego, błędnego certyfikatu ani nieprawidłowego adresu URL sklepu. Udokumentowana wartość domyślna to 120 sekund w NextCloud 33 i nowszych. Aby usunąć nadpisanie i powrócić do wartości domyślnej:

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

W przypadku serwera celowo odizolowanego od sieci, obsługiwanym sposobem konfiguracji jest zatwierdzony, samodzielnie hostowany sklep z aplikacjami. Nie próbuj rozwiązywać problemu, pobierając dowolny plik ZIP z aplikacją i umieszczając go w katalogu aplikacji. Skorzystaj z zaufanego źródła i sprawdź, czy wersja jest zgodna z Twoim serwerem.

Widok terminala z poleceniem instalacji aplikacji i wyróżnioną sekcją błędu
Ilustracja: ogólne polecenie i widok dziennika; rzeczywiste szczegóły błędu muszą pochodzić z serwera, którego dotyczy problem.

Weryfikacja

Sprawdź, czy katalog App Store się załadował, czy odpowiednia aplikacja została zainstalowana i pojawiła się na liście włączonych aplikacji, a w dzienniku nie zarejestrowano już błędu połączenia, TLS ani przekroczenia limitu czasu dla tej próby. Jeśli punkt końcowy odpowiada z poziomu środowiska wykonawczego NextCloud, ale interfejs użytkownika nadal informuje o braku internetu, porównaj adres URL i ustawienia App Store, sprawdź różnice w środowisku proxy między PHP-FPM a interfejsem wiersza poleceń (CLI) i sprawdź, czy tylko jedna aplikacja jest zablokowana lub niekompatybilna.

Odnośniki: Zarządzanie aplikacją Nextcloud i ustawienia App Store ; Polecenia aplikacji i konfiguracji Nextcloud OCC ; Parametry konfiguracji Nextcloud dla serwerów proxy ; Punkt końcowy metadanych Nextcloud App Store .

Zostaw komentarz

Przenieś dane z Nextcloud na dysk zewnętrzny bez naruszania pamięci masowej

Przenieś dane z Nextcloud na dysk zewnętrzny bez naruszania pamięci masowej

Bezpiecznie przenieś katalog danych Linux Nextcloud na dysk zewnętrzny, korzystając z trwałego montowania UUID, trybu konserwacji, zweryfikowanej kopii i dowiązania symbolicznego do ścieżki oryginalnej.

Błąd bazy danych NextCloud po aktualizacji: co sprawdzić w pierwszej kolejności

Przywróć dostęp do Nextcloud po aktualizacji, diagnozując błędy SQL, sprawdzając łączność z bazą danych i bezpiecznie kończąc przerwane migracje.

Zresetuj utracone hasło administratora NextCloud za pomocą OCC

Użyj polecenia OCC usługi Nextcloud, aby zresetować hasło administratora z poziomu powłoki serwera. Znajdziesz tam wskazówki dotyczące nazw użytkowników, uprawnień i zewnętrznych dostawców logowania.

Dodaj nagłówek HSTS w punkcie końcowym HTTPS obsługującym Nextcloud

Wyczyść ostrzeżenie HSTS usługi Nextcloud, ustawiając nagłówek na serwerze Apache, NGINX lub serwerze proxy TLS, a następnie bezpiecznie zweryfikuj publiczną odpowiedź HTTPS.

Rozwiązywanie problemów z instalacjami aplikacji NextCloud, które zgłaszają brak połączenia z Internetem

Rozwiązywanie problemów z instalacjami aplikacji NextCloud, które zgłaszają brak połączenia z Internetem

Śledź błędy instalacji App Store, aby wykryć problemy z DNS, HTTPS, serwerem proxy, TLS lub konfiguracją na samym serwerze Nextcloud.

Podgląd Tame Nextcloud powoduje skoki obciążenia procesora w przypadku zaplanowanej kolejki

Przenieś pracę nad miniaturami do kontrolowanego harmonogramu w tle, zmniejsz nieużywane rozmiary podglądu i zweryfikuj kolejkę bez przeciążania serwera Nextcloud.

Uzyskaj synchronizację pulpitu Nextcloud, wykraczającą poza „przetwarzanie plików”

Znajdź plik, regułę wykluczenia, problem z połączeniem lub stan bazy danych klienta, który blokuje synchronizację z Nextcloud, a następnie sprawdź bezpieczeństwo przesyłania i pobierania.

Wyczyść ostrzeżenie Nextcloud OPcache, dostosowując prawy limit

Znajdź limit PHP OPcache powodujący ostrzeżenie Nextcloud, zaktualizuj prawidłową konfigurację PHP w przeglądarce, uruchom ponownie system bezpiecznie i sprawdź wynik.

Połączenie Nextcloud z CODE Docker: konfiguracja i kompromisy

Połączenie Nextcloud z CODE Docker: konfiguracja i kompromisy

Porównaj wbudowany KOD i KOD oparty na Dockerze, a następnie połącz Collabora Online z Nextcloud za pomocą bezpiecznego odwrotnego serwera proxy HTTPS.

Zbuduj odporny klaster Nextcloud z Galera

Zaplanuj niezawodne wdrożenie Nextcloud HA z współdzieloną pamięcią masową, blokowaniem Redis, routingiem MariaDB uwzględniającym kworum i praktycznymi kontrolami awaryjnymi.