Jak naprawić „Zabronione - nie masz uprawnień dostępu / na tym serwerze” w domenie po skonfigurowaniu Apache?
Apache to oprogramowanie serwera sieciowego, z którego korzysta prawie 67% wszystkich serwerów WWW na świecie. To oprogramowanie jest rozwijane i dystrybuowane przez Apache Software Distribution. Jest open source i dostępny za darmo. Apache jest szybki, bezpieczny i niezawodny, co jest jednym z powodów jego popularności. Jednak całkiem niedawno wielu użytkowników napotyka błąd „ Zabronione - nie masz uprawnień dostępu / na tym serwerze ” podczas próby skonfigurowania Apache dla ich domeny.
Co powoduje błąd „Zabronione - nie masz uprawnień dostępu / na tym serwerze”?
Po otrzymaniu licznych raportów od wielu użytkowników postanowiliśmy zbadać problem i opracowaliśmy zestaw rozwiązań, aby go całkowicie naprawić. Przyjrzeliśmy się również przyczynom, dla których został on uruchomiony, i wymieniliśmy je w następujący sposób.
- Nieprawidłowe ustawienia globalnego katalogu : Możliwe, że ustawienia globalnego katalogu nie zostały poprawnie skonfigurowane, co nie pozwala na wystarczającą dyrektywę dla witryny. Jeśli witryna nie ma poprawnej dyrektywy, może powodować ten błąd.
- Nieprawidłowe uprawnienia : Apache wymaga uprawnień do folderu głównego katalogu, aby działać poprawnie, jeśli te uprawnienia nie zostaną przyznane, błąd może zostać wyzwolony.
- Brak nazwy użytkownika : W „httpd.conf” w niektórych przypadkach należy wprowadzić rzeczywistą nazwę użytkownika, aby pozbyć się błędu. To działa dla niektórych osób, a dla niektórych nie.
Teraz, gdy masz podstawową wiedzę na temat natury problemu, przejdziemy do rozwiązań. Należy je zaimplementować w określonej kolejności, w jakiej są przedstawione.
Rozwiązanie 1: Zmiana ustawień globalnego katalogu
Niektóre ustawienia muszą być odpowiednio skonfigurowane, aby rozwiązać ten problem. Dlatego na tym etapie dodamy dyrektywę opcji w ustawieniach globalnego katalogu, które znajdują się w „ httpd . conf ”lub„ httpd - vhosts . conf ”w zależności od użytkownika. Za to:
- Gdy znajdziesz się w „ httpd . conf ”lub „ httpd-vhosts.conf ”, poszukaj ustawień katalogu, powinny one być podobne do poniższego kodu.
Opcje FollowSymLinks AllowOverride All Order odmowa, zezwól Allow od wszystkich
Plik „httpd.conf” Uwaga: Możliwe jest, że kod ma „ Odmów od wszystkich ” zamiast „ Zezwalaj od wszystkich ”. Ważne jest, aby zmienić go na „ Zezwól na wszystko ” lub „ Wymagaj wszystkich przyznanych ”, jak wskazano poniżej.
- Upewnij się, że dodałeś do niego wiersz „ Indeksy opcji FollowSymLinks zawiera ExecCGI ” w taki sposób, aby wyglądał podobnie do następującego kodu.
#Opcje FollowSymLinks Opcje Indeksy FollowSymLinks Zawiera ExecCGI AllowOverride Wszystkie Odmowa zamówienia, zezwól Zezwól od wszystkich
- Sprawdź, czy problem nadal występuje.
- Jeśli problem nie został rozwiązany, zmodyfikuj kod, usuwając „ Zezwól na wszystko ” na „ Wymagaj wszystkich przyznanych ”.
- Sprawdź, czy problem nadal występuje
Rozwiązanie 2: Zmiana uprawnień
Gdy użytkownik łączy Apache ze swoją domeną, zapewnia on oprogramowaniu uprawnienia do odczytu i zapisu plików. Ważne jest, aby uprawnienia te były dostarczane poprawnie. Poniżej wskażemy właściwy sposób udzielania uprawnień.
- Zwykle użytkownicy udzielają uprawnień w następujący sposób.
chgrp -R www-data / nazwa użytkownika / home / Dropbox / myamazingsite / chmod -R 2750 / nazwa użytkownika / home / Dropbox / myamazingsite /
- Te polecenia są niepoprawne i należy je zastąpić
chgrp -R www-data / nazwa użytkownika chmod -R 2750 / nazwa użytkownika
- Pamiętaj również, że używasz właściwego poziomu „ chmod ”, użyj takiego, który zapewnia uprawnienia do odczytu dla użytkowników, takich jak „ chmod 755 ”.
- Sprawdź, czy problem nie ustąpił po wypróbowaniu sugestii.
Rozwiązanie 3: Dodanie nazwy użytkownika
W „ httpd . conf ”, pamiętaj o dodaniu dokładnej nazwy użytkownika zamiast słów „ Użytkownik ” lub „ Grupa ”. W niektórych przypadkach dodanie nazwy użytkownika rozwiązuje problem.