Próbuję skonfigurować serwer apache na moim laptopie Kubuntu 13.04. Zainstalowałem pakiet apache2 sudo a2enmod userdir; sudo service apache2 restart
, ale mimo to, kiedy odwiedzam http://localhost/~user
, mówi coś takiego:
Forbidden
You don't have permission to access /~user on this server.
Apache/2.2.22 (Ubuntu) Server at localhost Port 80
Wynik tail /var/log/apache2/access.log
127.0.0.1 - - [02/Aug/2013:16:22:01 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:16:22:02 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:35:30 +0200] "GET /~kaiyin HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:35:30 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:35:30 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:36:26 +0200] "GET /favicon.ico HTTP/1.1" 404 499 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:36:26 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:21:05:17 +0200] "GET /~kaiyin HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:21:05:17 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:21:05:17 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
Wynik tail /var/log/apache2/error.log
[Fri Aug 02 21:05:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:05:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:06:54 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:06:54 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:06:59 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /~kaiyin denied
[Fri Aug 02 21:06:59 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:06:59 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:07:17 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /~kaiyin denied
[Fri Aug 02 21:07:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:07:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
permissions
apache-httpd
co było do okazania
źródło
źródło
public_html
katalog dla użytkownika? Czy użytkownik uruchamiający apache ma uprawnienia do odczytu?Odpowiedzi:
Te
public_html
katalogi muszą mieć swoje uprawnienia jak to tak, że użytkownik, który Apache działa jako Access może go:nadal nie działa?
Jeśli spojrzysz na dzienniki błędów Apache, możesz zobaczyć taką linię:
Mówi ci to, że Apache nie ma uprawnień do nawigacji w katalogu twojego użytkownika (~ kaiyin) w tym przykładzie.
Jak to naprawić?
Musisz upewnić się, że bity read + execute są ustawione dla grupy, do której należy Apache, lub inne bity read + execute są ustawione w katalogu użytkownika, aby Apache mógł uzyskać dostęp do
public_html
folderu poniżej.Przykład
Bibliografia
źródło
/var/log/httpd/access.log
) i (/var/log/httpd/error.log
), aby sprawdzić, czy są jakieś dodatkowe wiadomości.public_html
; zrobi to również na public_html, jeśli nie potrzebujesz list plików, w przeciwnym razie Apache też będzie musiał odczytać (więc 755/750 zamiast 711/710).Upewnij się, że masz prawidłowe ustawienia w
/etc/apache2/mods-enabled/userdir.conf
. Otrzymałem odmowę dostępu po chmodding my public_html, a następnie postanowiłem sprawdzićuserdir.conf
. Zauważyłem, że były ustawienia dla wcześniejszych wersji apache, a także nowszych. Wiedziałem, że korzystam z najnowszej wersji, więc włączyłem nowsze ustawienia i teraz wszystko działa dobrzeźródło
Możesz także użyć
/etc/hosts
pliku, aby wyeliminować potrzebę tymczasowego adresu URL. Jeśli istnieje odniesienie do pełnego adresu URL w motywie lub wtyczce (jeśli masz), witryna nie wyświetli zawartości w odpowiednim formacie.źródło