web-dev-qa-db-fra.com

Apache2 virtualhost 403 interdit?

J'utilise ubuntu 13.04 64bit sur mon bureau, j'ai installé Apache2, MySQL et PHP etc.

Je voulais avoir ma racine web dans /home/afflicto/public_html au lieu de /var/www. Alors je suis allé avec ce guide:
http://www.maketecheasier.com/install-and-configure-Apache-in-ubuntu/2011/03/09
(J'ai tout fait depuis la "configuration de différents sites") car j'aime davantage la solution.

Voici ce que j'ai fait:
Installé Apache2, MySQL, etc.
copié /etc/Apache2/sites-avaliable/default à /etc/Apache2/sites-available/afflicto. Puis modifié, il ressemble maintenant à ce qui suit:

/etc/Apache2/sites-available/afflicto

<VirtualHost *:80>
ServerAdmin webmaster@localhost

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>  

J'ai fait Sudo a2dissite default && Sudo a2ensite afflicto && Sudo service Apache2 restart

J'ai créé un index.php et index.html dans /home/afflicto/public_html/test/
en accédant à localhost/test ou localhost/test/index.html etc, je reçois une erreur 403 interdite.

Qu'est-ce que je fais mal? Merci d'avance.

mise à jour 1
J'ai défini le propriétaire du répertoire public_html sur www-data.
Également Sudo chmod -R +x public_html && Sudo chmod -R 777 public_html
Toujours la même erreur 403.

Voici la sortie du journal des erreurs Apache:

[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
42
Petter Thowsen

Il s'avère que je devais chmod non seulement /home/afflicto/public_html mais aussi /home/afflicto/ répertoire également.

Bizarre.

20
Petter Thowsen

J'ai été confronté à ce problème. Mais je n’ai pas aimé l’idée de changer le groupe de mon répertoire personnel en www-data. Ce problème peut être simplement résolu en modifiant le fichier de configuration du virtualHost. Configurez simplement la balise Directory pour les inclure

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

Le Require all granted est une nouvelle fonctionnalité je suppose; ayant une valeur par défaut de denied.

voir cette page pour plus d'informations: http://httpd.Apache.org/docs/current/mod/core.html#directory

105
Peter