Jak naprawić błąd 403, który otrzymuję z XAMPP podczas korzystania z mod_userdir?
On 1 grudnia, 2020 by admin Używam Arch Linuksa i zdecydowałem się użyć XAMPP, aby móc tworzyć i testować strony internetowe. W każdym razie postępowałem zgodnie z instrukcjami podanymi w witrynie i rozpakowałem go do /opt/lampp
, a także odkomentowałem wiersz w /opt/lampp/etc/httpd.conf
, więc mod_userdir
zostanie włączony.
Teraz, gdy spróbuję uzyskać dostęp do mojego użytkownika public_html
(przez http://localhost/~user ), pojawia się ten błąd:
Access forbidden! You don"t have permission to access the requested object. It is either read-protected or not readable by the server. If you think this is a server error, please contact the webmaster. Error 403
Jak uzyskać to działa?
Odpowiedź
Musisz sprawić, by plik public_html i znajdujące się tam pliki były czytelne dla serwera WWW.
Jednym ze sposobów jest uruchomienie chmod o+x /home/user
(umożliwienie wszystkim przełączenia się do katalogu domowego) i chmod -R o+rX /home/user/public_html
(uczynienie public_html i pliki tam do odczytu dla każdego).
Jeśli potrzebujesz lepszej kontroli dostępu, użyj list ACL.
Odpowiedź
Musisz użyć tego
<Directory "/Users/*/Sites"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
upewnij się, że używasz Require all granted
zamiast
Order allow,deny Allow from all
gdy używasz apache> 2.4
Komentarze
- To załatwiło sprawę. Ale zastanawiam się, dlaczego nie ma tego w żadnym z samouczków, które znalazłem. A co oznacza " Wymaganie wszystkich przyznanych " w ogóle oznacza?
Odpowiedź
Domyślny plik httpd.conf
sprawia, że wszystkie katalogi są niedostępne:
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>
Musisz skonfigurować Apache, aby zezwalał na dostęp do twoich katalogów:
<Directory "/srv/httpd/htdocs"> Order allow,deny Allow from all </Directory>
To minimum. Być może będziesz musiał coś zrobić inne rzeczy. Uzyskaj odpowiedź 403, a następnie spójrz w /var/log/httpd/error_log
(lub gdziekolwiek XAMPP ją umieści), aby zobaczyć, co się stało.
Dodaj komentarz