Solution 1 :
Selon le FHS, /usr
est pour shareable, read-only data
- pas où vous voulez mettre le site Web. C'est là que vous devez mettre votre code (par exemple, Fedora le fait pour Wordpress). Voir aussi le guide d'empaquetage des ressources Web pour Fedora.
/var
est "fichiers de données variables. Cela inclut les répertoires et fichiers spool, les données administratives et de journalisation, ainsi que les fichiers transitoires et temporaires." -- mieux, mais toujours pas tout à fait correct -- mais beaucoup de systèmes utiliseront /var/www
, donc même si vous avez tort de le mettre là, vous êtes en bonne compagnie.
/srv
est pour "les données spécifiques au site qui sont servies par ce système." -- qui semble être une bonne correspondance, mais est beaucoup moins courant que /var/www
.
L'autre endroit commun pour mettre les fichiers du site est sous /home
-- en créant un utilisateur spécial appelé website
ou autre, puis en plaçant les fichiers dans le répertoire personnel de cet utilisateur (par exemple, /home/website
).
Solution 2 :
Jetez un œil à la norme de hiérarchie du système de fichiers (Wikipedia). J'utilise moi-même /srv/web/$domain/{htdocs,logs,cgi-bin,...}.
Solution 3 :
Les sites Web doivent résider dans les répertoires personnels des utilisateurs. Ce sont des données utilisateur, qui doivent être isolées par un utilisateur par site, et le contenu dynamique doit à nouveau s'exécuter en tant qu'utilisateur distinct, avec des fichiers que le contenu dynamique doit lire et modifier avec les autorisations appropriées pour le faire.
Mise à jour :
Ce n'est pas parce qu'il ne s'agit pas d'un serveur d'hébergement partagé que vous ne devez pas adopter de bonnes pratiques de sécurité et séparer les rôles indépendants dans leurs propres zones de sécurité.
Solution 4 :
Le guide définitif est le Filesystem Hierarchy Standard qui dit que /srv
est le bon endroit.
Solution 5 :
L'endroit où ils vivent sur le disque importe peu. C'est là où vous les voulez.
J'ai un lien symbolique de /www sur toutes mes machines vers où elles vivent vraiment, donc je n'ai jamais à me demander d'une machine à l'autre. Certaines machines plus anciennes ont /u0 et /u1 pour les disques utilisateur, et j'y place les éléments Web. Certains ont /home monté directement, donc ils y vont, mais /www pointe toujours au bon endroit.
Je ne mets pas non plus de configuration dans /usr ni dans /var. Il va dans /local (qui, vous l'avez deviné, est un lien symbolique quelque part sur /u0 ou /u1 généralement). Cela facilite la sauvegarde des choses. Je sauvegarde juste les disques utilisateur.
Bien sûr, j'ai un site de distribution principal pour mon système d'exploitation de choix, NetBSD. Je fais le système comme je le veux sur cette machine principale (vraiment une instance xen) et rsync /usr autour. Me rend la vie facile.