Apache to oprogramowanie serwera WWW, z którego korzysta prawie 67% wszystkich serwerów WWW na świecie. To oprogramowanie jest opracowywane 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ło błąd „ Zabronione - nie masz uprawnień dostępu / na tym serwerze ” podczas próby skonfigurowania Apache dla swojej domeny.
Co powoduje błąd „Dostęp zabroniony - nie masz pozwolenia na dostęp / na tym serwerze”?
Po otrzymaniu wielu zgłoszeń od wielu użytkowników postanowiliśmy zbadać problem i opracować zestaw rozwiązań, aby całkowicie go naprawić. Przyjrzeliśmy się również powodom, dla których jest uruchamiany, i wymieniliśmy je w następujący sposób.
- Nieprawidłowe ustawienia katalogu globalnego : Możliwe, że ustawienia katalogu globalnego nie zostały poprawnie skonfigurowane, co nie pozwala na wystarczającą ilość dyrektywy dla witryny. Jeśli witryna nie ma poprawnej dyrektywy, może to spowodować ten błąd.
- Nieprawidłowe uprawnienia : Apache wymaga uprawnień do głównego folderu katalogu, aby działać poprawnie, jeśli te uprawnienia nie zostaną przyznane, może wystąpić błąd.
- 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 już podstawową wiedzę na temat natury problemu, przejdziemy do rozwiązań. Upewnij się, że wykonujesz je w określonej kolejności, w jakiej są prezentowane.
Rozwiązanie 1: Zmiana ustawień katalogu globalnego
Aby rozwiązać ten problem, należy poprawnie skonfigurować niektóre ustawienia. Dlatego w tym kroku dodamy dyrektywę opcji w ustawieniach katalogu globalnego, która znajduje się w katalogu „ httpd . conf ”lub„ httpd - vhosts . conf ”w zależności od użytkownika. Za to:
- Gdy znajdziesz się w katalogu „ httpd . conf ”lub „ httpd-vhosts.conf ”, poszukaj ustawień katalogu , powinny one być podobne do poniższego kodu.
Opcje FollowSymLinks AllowOverride All Order deny, allow Allow from all
Uwaga: Jest możliwe, że kod został „ Deny From All ” zamiast „ Zezwól Od All „. Ważne jest, aby zmienić go na „ Zezwalaj od wszystkich ” lub „ Wymagaj wszystkich przyznanych ”, jak wskazano poniżej.
- Upewnij się, że dodałeś wiersz „ Options Indexes FollowSymLinks Includes ExecCGI ” w taki sposób, aby wyglądał podobnie do poniższego kodu.
#Options FollowSymLinks Opcje Indeksy FollowSymLinks Zawiera ExecCGI AllowOverride All Order deny, allow Allow from all
- Sprawdź, czy problem nadal występuje.
- Jeśli problem nie zostanie rozwiązany modyfikacji kodu poprzez usunięcie „ Zezwalaj z All ” na „ Wymagaj Wszystko prawda „.
- Sprawdź, czy problem nadal występuje
Rozwiązanie 2: Zmiana uprawnień
Gdy użytkownik łączy Apache ze swoją domeną, zapewnia oprogramowaniu uprawnienia do odczytu i zapisu plików. Ważne jest, aby te uprawnienia były udzielane prawidłowo. Poniżej wskażemy właściwy sposób nadawania uprawnień.
- Zwykle użytkownicy zapewniają uprawnienia w następujący sposób.
chgrp -R www-data / nazwa użytkownika / home / Dropbox / myamazingsite / chmod -R 2750 / username / home / Dropbox / myamazingsite /
- Te polecenia są błędne i należy je zastąpić
chgrp -R www-data / nazwa użytkownika chmod -R 2750 / nazwa_użytkownika
- Pamiętaj też, że używasz poprawnego poziomu „ chmod ”, użyj takiego, który zapewnia użytkownikom uprawnienia do odczytu, na przykład „ chmod 755 ”.
- Sprawdź, czy po wypróbowaniu sugestii problem nadal występuje.
Rozwiązanie 3: dodanie nazwy użytkownika
W katalogu „ httpd . conf ”, pamiętaj, aby dodać dokładną nazwę użytkownika zamiast słów „ Użytkownik ” lub „ Grupa ”. W niektórych przypadkach dodanie nazwy użytkownika rozwiązuje problem.