Problèmes de configuration de VirtualHost dans Apache2 sur Ubuntu 12.04

Après avoir lu divers tutoriels [1], je n’arrive toujours pas à configurer mes parameters VirtualHost. Je reçois un 403 Forbidden lorsque j’essaie d’utiliser un VirtualHost avec un répertoire sous mon répertoire utilisateur comme DocumentRoot .

Ce que j’ai fait jusqu’ici

Ce qui se produit

  • Redémarrer Apache Je reçois les messages suivants sur la ligne de commande:

     * Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [Sun May 13 10:33:37 2012] [warn] NameVirtualHost *:80 has no VirtualHosts [ OK ] 
  • Ouverture soit http://project-site ou http://project-site/test.html un “403 Forbidden” est servi.

Ce qui devrait arriver

Je voudrais que le contenu de /home/user/Workspace/project/site soit diffusé lorsque je navigue sur http://project-site .

Ce que j’ai appris jusqu’ici

En lisant des questions similaires sur ce site, j’ai appris qu’il s’agissait probablement d’un problème de permission [2]. Les fichiers dans /home/user/Workspace/project/site peuvent ne pas être lisibles par www-data . Mais comment puis-je savoir ou corriger cela?

En outre, .htaccess fichiers .htaccess ont été mentionnés [3] et se trouvent dans

 /home/.htaccess /home/user/.htacces [...] /home/user/path/to/project/.htaccess 

et peut-être pas lisible. Je ne les ai jamais créées, je ne les veux pas, en aurai-je besoin?

La deuxième réponse à une autre question [4] m’a NameVirtualHost utiliser NameVirtualHost responsable de l’avertissement au redémarrage d’Apache. Est-ce nécessaire et si, comment l’utiliser correctement?

Toute aide est très appréciée! Dites-moi, si vous avez besoin de savoir autre chose pour localiser le problème.


Des ressources

  1. http://www.thegeekstuff.com/2011/07/apache-virtual-host/, http://httpd.apache.org/docs/2.2/vhosts/name-based.html, http://mintarticles.com/read/software-articles/multiple-virtual-hosts-in-xampplampp-in-ubuntu,977/, http://www.pgorecki.pl/content/virtual-host-na-localho%C5%9Bcie-apache-ubuntu, ...
  2. Apache VirtualHost 403 Interdit
  3. Ubuntu, Apache, virtualhost et Access interdits
  4. Configuration de VirtualHost

J’ai trouvé la solution suivante, ne pas me satisfaire, mais résoudre mon problème principal. En effet, il s’agit d’permissions comme suggéré dans [1]. Mon répertoire /home/user n’était pas accessible au serveur Web. Afin d’accorder des permissions minimales possibles, j’ai utilisé

 chmod 701 /home/user 

pour le rendre accessible. De plus, j’ai récursivement donné la propriété du groupe à www-data pour le webroot de l’hôte virtuel comme recommandé dans [2], mais je ne suis pas sûr si cela est nécessaire.

 sudo chown -R user:www-data /home/user/Workspace/project/site sudo chmod -R g+s /home/user/Workspace/project/site 

Je vais demander une solution plus élégante dans une question distincte.

En ce qui concerne les autres problèmes mentionnés, j’ai découvert ce qui suit avec l’aide de [3] en plus d’autres ressources:

  • Cela n’est pas nécessaire et peut provoquer une erreur pour que NameVirtualHost *:80 figure dans la description des hôtes virtuels, s’il apparaît dans l’un des autres fichiers de configuration.
  • Pour que Apache connaisse son nom de domaine complet étant localhost on crée un fichier /etc/apache2/conf.d/fqdn avec le contenu ServerName localhost .

  1. https://stackoverflow.com/a/7576526/948404
  2. https://stackoverflow.com/a/9133067/948404
  3. https://help.ubuntu.com/community/ApacheMySQLPHP