Ceci est une ancienne révision du document !
Héberger un site dans un autre répertoire que www
Retour à la liste des tutoriels
Préambule
Mes sites web sont placés sous une arborescence de type /var/www/anael.eu/ .
Toutefois, j'ai créée un utilisateur système sur le serveur pour une connaissance, lui permettant de stocker en ligne ses données. Cette personne souhaite pouvoir partager des fichiers avec ses amis d'une manière simple !
J'ai créé la configuration de son sous-domaine (dedi.anael.eu).
Solution 1 - Accès au compte user-web
Pour conserver une cohérence avec la configuration du serveur, je devrais donner accès au compte user-web à cette personne (user-web à accès à /var/www/*).
Toutefois, je ne souhaite pas que l'on puisse modifier mes autres sites web pour autant !
Solution 2 - Changement de répertoire www
Par défaut les données des sites sont stockées dans /var/www/example.com/www.
Je vais faire pointer ce répertoire vers un répertoire spécifique du /home de cette personne : elle pourra à la fois accéder au serveur, gérer ses documents, et mettre en ligne certains d'entre eux (en les copiant dans le bon répertoire !)
Pour ce faire, j'utilise une configuration de vhost standard.
Par contre je crée un lien symbolique entre le répertoire www et le /home :
ln -s /home/user/mon_site/ /var/www/dedi.anael.eu/www
De cette manière, tout document mis dans le répertoire mon_site sera considéré, par Apache, comme étant dans /www (du site dedi.anael.eu) !
Erreurs courantes
Vous rencontrez des erreurs 403 à l'accès au site ?
[Thu Jan 27 20:22:01 2011] [error] [client 81.220.163.196] Symbolic link not allowed or link target not accessible: /var/www/dedi.anael.eu/www
FollowSymLinks
Dans la configuration du site, avez-vous autorisé Apache à suivre les liens symboliques ?
... <Directory /var/www/dedi.anael.eu/www/> Options -Indexes +FollowSymLinks ...
Chmod
Pour qu'Apache puisse accéder aux fichiers du site web, il faut que ces derniers possèdent des droits (ACL) corrects !
Par défaut, il faut donner un droit d'accès au groupe :
chmod /home/user 750 chmod /home/user/mon_site 750