2013-07-14 17 views
37

Używam ubuntu 13.04 64bit na moim pulpicie, zainstalowałem Apache2, MySQL i PHP itpApache2 virtualhost 403 zabronione?

chciałem mieć mój korzeń internetowej w /home/afflicto/public_html zamiast /var/www. Więc poszedłem z tym przewodnikiem:
http://www.maketecheasier.com/install-and-configure-apache-in-ubuntu/2011/03/09
(Zrobiłem wszystko, od "konfigurowania różnych stron"), ponieważ podoba mi się rozwiązanie więcej.

Oto co zrobiłem:
zainstalowana Apache2, MySQL itp ..
kopiowane /etc/apache2/sites-avaliable/default do /etc/apache2/sites-available/afflicto. Następnie edytować go, to teraz wygląda następująco:

/etc/apache2/sites-available/afflicto

<VirtualHost *:80> 
ServerAdmin [email protected] 

DocumentRoot /home/afflicto/public_html 
<Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
</Directory> 
<Directory /home/afflicto/public_html/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    allow from all 
</Directory> 

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
<Directory "/usr/lib/cgi-bin"> 
    AllowOverride None 
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
    Order allow,deny 
    Allow from all 
</Directory> 

ErrorLog ${APACHE_LOG_DIR}/error.log 

# Possible values include: debug, info, notice, warn, error, crit, 
# alert, emerg. 
LogLevel warn 

CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

zrobiłem sudo a2dissite default && sudo a2ensite afflicto && sudo service apache2 restart

stworzyłem index.php i index.html w /home/afflicto/public_html/test/
podczas uzyskiwania dostępu do localhost/test lub localhost/test/index.html itp. Otrzymuję błąd 403 zabroniony.

Co robię źle? z góry dziękuję.

Aktualizacja 1
mam ustawić właściciela katalogu public_html do www-data.
Również sudo chmod -R +x public_html && sudo chmod -R 777 public_html
Wciąż ten sam błąd 403.

Oto wyjście apache dzienniku błędów:

[Sun Jul 14 06:10:32 2013] [error] [client 127.0.0.1] (13)Permission denied: access to/denied 

[Sun Jul 14 06:10:32 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /favicon.ico denied 

Odpowiedz

19

Okazuje się, że musiałem chmod nie tylko /home/afflicto/public_html ale także /home/afflicto/ katalogu, jak również.

Dziwne.

+7

Prawidłowe. Proces apache musi mieć dostęp do każdego katalogu na ścieżce. Ponadto proces apache wymaga, aby każdy katalog miał dostęp do świata lub nie będzie obsługiwał katalogu do świata (zewnętrznego). – dsh

+0

utknąłem, dopóki nie zastosowałem tego. dzięki! –

+2

Nie dziwne wcale. Twój określony 'DocumentRoot' to'/home/afflicto/public_html', więc musi być dostępny przez Apache. – JakeGould

92

Miałem do czynienia z tym problemem. Ale nie podobał mi się pomysł zmiany grupy mojego katalogu domowego na dane www. Ten problem można po prostu rozwiązać, modyfikując plik konfiguracyjny dla virtualHost. Wystarczy skonfigurować tag katalog obejmuje te

<Directory "your directory here"> 
    Order allow,deny 
    Allow from all 
    Require all granted 
</Directory> 

Require all granted to nowa funkcja Chyba; o wartości domyślnej denied.

zobacz tę stronę, aby uzyskać dodatkowe informacje: http://httpd.apache.org/docs/current/mod/core.html#directory

+1

To naprawiło to dla mnie! Dzięki – STW

+3

Wygląda na to, że zamówienie i zezwolenie nie są wymagane w wersji 2.4? –

+7

To "Wymagaj wszystkich przyznanych" to złoto. Wielkie dzięki! –

Powiązane problemy