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
.
Fichier créé /etc/apache2/sites-available/workspace
avec le contenu suivant:
NameVirtualHost *:80 ServerName project-site DocumentRoot /home/user/Workspace/project/site
Le fichier édité /etc/hosts
cède maintenant:
127.0.0.1 localhost 127.0.1.1 my-machine # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters # VirtualHosts added by me 127.0.0.1 project-site
Hôtes virtuels sudo a2ensite workspace
utilisant l’ sudo a2ensite workspace
sudo services apache2 restart
utilisant sudo services apache2 restart
http://project-site
et http://project-site/test.html
(où test.html
est présent dans /home/user/Workspace/project/site/
) dans mon navigateur Web 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.
Je voudrais que le contenu de /home/user/Workspace/project/site
soit diffusé lorsque je navigue sur http://project-site
.
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
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, ...
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:
NameVirtualHost *:80
figure dans la description des hôtes virtuels, s’il apparaît dans l’un des autres fichiers de configuration. localhost
on crée un fichier /etc/apache2/conf.d/fqdn
avec le contenu ServerName localhost
.