Bezpiecznie napraw ostrzeżenie „AllowOverride All” w usłudze ownCloud Apache

AllowOverride AllJeśli ownCloud zgłasza brak ustawienia Apache , dodaj je do <Directory>bloku Apache odpowiadającego ścieżce instalacji ownCloud, przetestuj konfigurację i przeładuj Apache. W typowej instalacji Debiana lub Ubuntu ustawienie znajduje się w aktywnym wirtualnym hoście ownCloud lub w odpowiednim bloku katalogu w konfiguracji Apache. Nie włączaj nadpisywania na całym serwerze tylko po to, aby usunąć jedno ostrzeżenie.

W serwerze ownCloud (wersja Classic) serwer Apache musi mieć możliwość odczytu reguł instalacji .htaccess. Reguły te obsługują przepisywanie adresów URL i pomagają chronić wrażliwe ścieżki. Brak lub nieskuteczność reguły może zatem wpłynąć zarówno na czyste adresy URL, jak i na kontrolę bezpieczeństwa katalogu danych. Niniejszy przewodnik dotyczy serwera ownCloud z serwerem Apache HTTP Server; nie dotyczy on serwerów Nginx, ownCloud Infinite Scale ani konfiguracji hostingu, w której konfiguracja Apache jest kontrolowana przez dostawcę.

Krótki przewodnik

BramkaSprawdź lub ustaw
Zezwalaj na reguły ownCloud dla poszczególnych katalogówAllowOverride Allw pasującym <Directory>bloku
Potwierdź, że Apache może przeanalizować zmianęsudo apachectl -tpowinien zgłosićSyntax OK
Aktywuj konfiguracjęsudo systemctl reload apache2na Debianie lub Ubuntu
Sprawdź czyste adresy URLUpewnij się, że ta opcja mod_rewritejest włączona, jeśli Twoja konfiguracja tego wymaga
Potwierdź, że ostrzeżenie zniknęłoPo przetestowaniu uszkodzonego adresu URL ponownie załaduj przegląd administracyjny ownCloud

Co oznacza ostrzeżenie

Dyrektywa Apache'a AllowOverridedecyduje, czy dyrektywy w .htaccessplikach mogą wpływać na żądania. Apache honoruje tylko AllowOverridewewnątrz <Directory>sekcji; umieszczenie wiersza na najwyższym poziomie hosta wirtualnego lub w niepowiązanym bloku nie włączy go dla plików ownCloud. Szersza <Directory>reguła, bardziej szczegółowa reguła lub inny włączony host wirtualny może również oznaczać, że edytowane ustawienie nie obsługuje żądania.

Aktualne instrukcje instalacji serwera 10.16 w ownCloud znajdują się AllowOverride Allw bloku katalogu głównego dokumentu ownCloud. Opcja „All” zezwala na klasy nadrzędne obsługiwane przez moduły Apache w tym zakresie. Należy ograniczyć to uprawnienie do katalogu ownCloud, zamiast zmieniać globalną politykę systemu plików Apache. Podręcznik Apache zawiera również wskazówki AllowOverrideListdla administratorów, którzy chcą zezwolić tylko na określone dyrektywy, ale wąska lista wymaga starannego przetestowania zgodności z wersją ownCloud i jej dołączonymi .htaccessregułami.

Przykład wirtualnego hosta Apache z AllowOverride Wszystko wewnątrz bloku katalogu ownCloud
Przykład wirtualnego hosta umieszczonego AllowOverride Allw bloku katalogu dla /var/www/owncloud.

Przed zmianą Apache

  • Potwierdź, że produkt to ownCloud Server (Classic) i zidentyfikuj dokładną ścieżkę systemu plików do jego katalogu głównego. Adres URL, taki jak ten, /cloudmoże być mapowany przez serwer Apache Aliasdo innego katalogu na dysku.
  • Znajdź aktywny wirtualny host i plik konfiguracyjny. W systemach Debian i Ubuntu typowe lokalizacje to /etc/apache2/sites-available/i /etc/apache2/apache2.conf. W systemach z rodziny RHEL konfiguracja Apache'a zazwyczaj znajduje się poniżej /etc/httpd/. Panele i kontenery hostujące mogą korzystać z innych ścieżek.
  • Przed edycją pliku należy wykonać jego kopię zapasową i zachować wszelkie istniejące dyrektywy TLS, proxy, kontroli dostępu i ownCloud.
  • Sprawdź, czy AllowOverride Nonedo tej samej ścieżki ma zastosowanie inna reguła lub reguła katalogu. Nie edytuj domyślnego pliku witryny, który nie jest włączony dla nazwy hosta ownCloud.

Napraw samodzielnie zarządzany serwer Apache

1. Edytuj aktywną konfigurację

W systemie Debian lub Ubuntu otwórz wirtualny host obsługujący nazwę hosta ownCloud, na przykład:

sudo nano /etc/apache2/sites-available/owncloud.conf

W tym pliku znajdź lub dodaj <Directory>sekcję dla właściwego katalogu instalacyjnego ownCloud. Ten minimalistyczny przykład pokazuje odpowiednie umiejscowienie; zachowaj wszelkie dodatkowe dyrektywy wymagane przez serwer:

<Directory /var/www/owncloud/>
    Options +FollowSymlinks
    AllowOverride All
    Require all granted
</Directory>

Zastąp /var/www/owncloud/rzeczywistą ścieżką. Jeśli Apache mapuje adres URL na Alias, skonfiguruj katalog systemu plików zawierający pliki ownCloud, a nie tylko ścieżkę URL. Instrukcja instalacji Apache ownCloud zawiera dodatkowe uwagi dotyczące konfiguracji; skorzystaj z przykładu odpowiadającego Twojej wersji ownCloud i konfiguracji PHP.

2. Sprawdź moduły i składnię

W przypadku czystych adresów URL bez index.php, dokumentów ownCloud mod_rewritei mod_envjako warunek wstępny. W systemie Debian lub Ubuntu włącz moduł przepisywania, jeśli nie jest jeszcze aktywny:

sudo a2enmod rewrite
sudo apachectl -t

Test konfiguracji powinien kończyć się Syntax OK. Jeśli zgłosi błąd, należy go naprawić przed ponownym załadowaniem. Pomyślne sprawdzenie składni dowodzi, że Apache potrafi analizować swoją konfigurację; nie dowodzi to jednak, że aktywny jest poprawny host wirtualny ani że uruchomiony proces załadował edytowany plik.

Test konfiguracji Apache zwracający składnię OK w terminalu
Test konfiguracji Apache powinien zostać zwrócony Syntax OKprzed ponownym załadowaniem usługi.

3. Przeładuj Apache i przetestuj ownCloud

W systemie Debian lub Ubuntu należy ponownie uruchomić serwer Apache po pomyślnym sprawdzeniu składni:

sudo systemctl reload apache2

W systemach z rodziny RHEL usługa ma zazwyczaj nazwę httpd, dlatego należy użyć odpowiedniej nazwy usługi i polecenia configuration-test dystrybucji. Nie należy kopiować poleceń specyficznych dla Debiana do innego systemu bez potwierdzenia jego układu usług.

Otwórz nazwę hosta ownCloud w przeglądarce i przetestuj stronę, która wcześniej wymagała przepisania. Jeśli serwer używa prefiksu ścieżki, takiego jak /cloud, przetestuj również adres URL z prefiksem. Pętla przekierowań, odpowiedź 403 lub błąd Apache 500 oznaczają, że konfiguracja nadal wymaga sprawdzenia. Sprawdź dziennik błędów Apache i dziennik ownCloud, zamiast wielokrotnie zmieniać niezwiązane z tym dyrektywy.

Terminal pokazujący włączony moduł przepisywania i ponownie załadowaną usługę Apache
Włączaj mod_rewritetylko wtedy, gdy jest to konieczne, a następnie ponownie załaduj usługę Apache po pomyślnym sprawdzeniu składni.

Jeśli ostrzeżenie nadal występuje

ObjawNastępne sprawdzenie
Ostrzeżenie pozostaje po ponownym załadowaniuSprawdź, czy edytowany wirtualny host jest włączony i obsługuje nazwę hosta; sprawdź apachectl -S, czy istnieje reguła katalogu niższego poziomu lub bardziej szczegółowa.
Czyste adresy URL nadal obejmująindex.phpSprawdź, czy opcja mod_rewritejest włączona, czy katalog ownCloud ma zamierzone uprawnienie nadpisywania i czy baza przepisywania ownCloud jest zgodna ze ścieżką adresu URL.
Strona administratora informuje, że katalog danych może być publicznie dostępnySprawdź, czy katalog danych znajduje się poza katalogiem głównym, jeśli to możliwe. W przeciwnym razie sprawdź, czy dostarczony katalog danych .htaccessistnieje, jest czytelny i respektowany przez serwer Apache; nie traktuj usunięcia ostrzeżenia jako substytutu zabezpieczenia katalogu.
Apache zwraca 500 lub raportuje „tutaj nie wolno”Przeczytaj dziennik błędów Apache. Dyrektywa w .htaccessmoże być niedozwolona przez aktywne klasy nadrzędne lub wymagany moduł może być niedostępny.
Uruchamianie w kontenerze lub zarządzanym hościeSprawdź udokumentowaną konfigurację Apache'a obrazu lub panel sterowania dostawcy. Plik Apache'a na poziomie hosta może nie być serwerem obsługującym żądania.

Jeśli ownCloud zgłasza, że .htaccess​​pliku nie można zaktualizować, przed zmianą należy sprawdzić prawa własności i zapisu zgodnie z wytycznymi ownCloud dotyczącymi aktualizacji i wzmacniania zabezpieczeń. Należy unikać ustawiania całej instalacji jako skrótu z możliwością zapisu przez serwer WWW. Dokumentacja ownCloud wskazuje, że szczegóły konfiguracji różnią się w zależności od instalacji i że PHP-FPM nie korzysta z ustawień PHP z .htaccess; w takim przypadku ustawienia należą do .user.ini. To rozróżnienie PHP samo w sobie nie zastępuje konieczności przetwarzania reguł przepisywania i dostępu ownCloud przez Apache.

Lista kontrolna weryfikacji

  1. Ścieżka <Directory>dokładnie odpowiada plikom ownCloud na dysku.
  2. Dopasowany blok zawiera AllowOverride Alli żadna aktywna, kolidująca reguła nie ma pierwszeństwa.
  3. sudo apachectl -tzwraca Syntax OK.
  4. Apache został przeładowany przy użyciu prawidłowej nazwy usługi.
  5. Strona logowania ownCloud i poprzednio uszkodzony adres URL ładują się przez HTTPS zgodnie z oczekiwaniami.
  6. Podsumowanie administracyjne nie wyświetla już tego samego ostrzeżenia po odświeżeniu, a katalog danych pozostaje niedostępny z poziomu publicznej sieci.
Przykładowa strona logowania ownCloud na skonfigurowanej nazwie hosta z terminalem sprawdzającym zaufane domeny
Przykładowa strona logowania ownCloud pod skonfigurowaną nazwą hosta; sprawdź rzeczywisty status ostrzeżenia w przeglądzie administracyjnym.

Oficjalne referencje

Zostaw komentarz

Naprawianie udostępniania ekranu w Jitsi Meet na macOS Sonoma: sprawdzanie uprawnień i przeglądarki

Naprawianie udostępniania ekranu w Jitsi Meet na macOS Sonoma: sprawdzanie uprawnień i przeglądarki

Napraw udostępnianie ekranu w Jitsi Meet na macOS Sonoma: włącz odpowiednie uprawnienia przeglądarki, uruchom ją ponownie i zdiagnozuj problemy z selektorem lub spotkaniem.

Koniec cyklu życia Kopano Core: najlepsze alternatywy open source dla przedsiębiorstw

Koniec cyklu życia Kopano Core: najlepsze alternatywy open source dla przedsiębiorstw

Porównaj praktyczne alternatywy typu open source dla Kopano Core w zakresie poczty e-mail dla przedsiębiorstw i oprogramowania do pracy grupowej, w tym grommunio, SOGo, Zimbra, Nextcloud i Open-Xchange.

Rozwiązywanie problemów z dźwiękiem w pokojach przejściowych BigBlueButton: niezawodna ścieżka rozwiązywania problemów

Rozwiązywanie problemów z dźwiękiem w pokojach przejściowych BigBlueButton: niezawodna ścieżka rozwiązywania problemów

Napraw problem z dźwiękiem w pokoju przejściowym BigBlueButton, który się zawiesza lub nie łączy. Zdiagnozuj problemy z uprawnieniami przeglądarki, WebRTC, TURN, NAT, zaporą sieciową i mostem audio.

Napraw błąd logowania Zimbra „Konto jest zablokowane”: kroki dla użytkownika i administratora

Napraw błąd logowania Zimbra „Konto jest zablokowane”: kroki dla użytkownika i administratora

Rozwiąż błąd Zimbra „Konto jest zablokowane”: sprawdź status konta, odblokuj potwierdzoną blokadę, znajdź nieaktualne dane uwierzytelniające i zweryfikuj poprawkę.

Napraw wysokie zużycie pamięci bazy danych Matrix Synapse w PostgreSQL

Napraw wysokie zużycie pamięci bazy danych Matrix Synapse w PostgreSQL

Rozwiąż problem dużego wykorzystania pamięci przez PostgreSQL za pomocą Matrix Synapse, sprawdzając połączenia, dostrajając ustawienia puli i pamięci, odkurzając tabele i weryfikując wyniki.

Jak skonfigurować Nextcloud Office z CODE Docker w 10 minut

Jak skonfigurować Nextcloud Office z CODE Docker w 10 minut

Skonfiguruj zewnętrzny serwer Collabora CODE Docker dla Nextcloud w około 10 minut, korzystając z serwera proxy HTTPS, sprawdzania WOPI, wskazówek dotyczących bezpieczeństwa i rozwiązywania problemów.

Bezpiecznie napraw ostrzeżenie „AllowOverride All” w usłudze ownCloud Apache

Bezpiecznie napraw ostrzeżenie „AllowOverride All” w usłudze ownCloud Apache

Napraw ostrzeżenie ownCloud Apache AllowOverride All poprzez skonfigurowanie prawidłowego katalogu, przetestowanie Apache, bezpieczne ponowne załadowanie i sprawdzenie ochrony .htaccess.

Jak zamontować udział Samba/CIFS na serwerze ownCloud

Jak zamontować udział Samba/CIFS na serwerze ownCloud

Zamontuj udział Samba lub CIFS na serwerze ownCloud z obsługą pamięci zewnętrznej. Skonfiguruj poświadczenia SMB, ogranicz dostęp i zweryfikuj montaż.

Fix “App Couldn’t Be Installed Because Server Has No Internet” on Android

Fix “App Couldn’t Be Installed Because Server Has No Internet” on Android

Fix the Android app installation error by checking connectivity, Play Store cache, storage, device compatibility, and emulator DNS or proxy settings.

How to Back Up and Restore a Matrix Synapse PostgreSQL Database

How to Back Up and Restore a Matrix Synapse PostgreSQL Database

Back up and restore a Matrix Synapse PostgreSQL database with pg_dump and pg_restore. Protect one-time keys, create a clean target, and verify recovery.