Solución 1:
Según la FHS, /usr
es para shareable, read-only data
- no donde quieres poner el sitio web. Aquí es donde debe poner su código (por ejemplo, Fedora hace esto para Wordpress). Consulte también la guía de empaquetado de recursos web para Fedora.
/var
es "archivos de datos variables. Esto incluye directorios y archivos de cola, datos administrativos y de registro, y archivos transitorios y temporales". -- mejor, pero todavía no del todo bien -- pero muchos sistemas usarán /var/www
, así que aunque te equivoques al ponerlo allí, estás en buena compañía.
/srv
es para "datos específicos del sitio que son atendidos por este sistema". -- que parece una buena coincidencia, pero es mucho menos común que /var/www
.
El otro lugar común para colocar los archivos del sitio es /home
-- creando un usuario especial llamado website
o similar, luego colocando los archivos dentro del directorio de inicio de ese usuario (por ejemplo, /home/website
).
Solución 2:
Eche un vistazo al estándar de jerarquía del sistema de archivos (Wikipedia). Yo mismo uso /srv/web/$domain/{htdocs,logs,cgi-bin,...}.
Solución 3:
Los sitios web deben vivir en los directorios de inicio de los usuarios. Son datos de usuario, deben ser aislados por un usuario por sitio, y el contenido dinámico debe ejecutarse como un usuario separado nuevamente, con archivos que el contenido dinámico necesita leer y modificar con los permisos apropiados para hacerlo.
Actualización:
El hecho de que no sea un servidor de alojamiento compartido no significa que no deba participar en buenas prácticas de seguridad y separar roles independientes en sus propias zonas de seguridad.
Solución 4:
La guía definitiva es el Estándar de jerarquía del sistema de archivos que dice que /srv
es el lugar adecuado.
Solución 5:
Donde viven en el disco tiene poca importancia. Es donde los quieres.
Tengo un enlace simbólico de /www en todas mis máquinas a donde realmente viven, por lo que nunca tengo que andar de una máquina a otra. Algunas máquinas más antiguas tienen /u0 y /u1 para discos de usuario, y yo coloco las cosas web allí. Algunos tienen /home montado directamente, por lo que van allí, pero /www siempre apunta al lugar correcto.
Tampoco pongo ninguna configuración en /usr ni en /var. Va en /local (que, lo adivinaste, es un enlace simbólico en algún lugar de /u0 o /u1 típicamente). Esto facilita la copia de seguridad de las cosas. Solo hago una copia de seguridad de los discos de los usuarios.
Por supuesto, tengo un sitio de distribución maestro para mi sistema operativo de elección, NetBSD. Hago el sistema como lo quiero en esta máquina principal (realmente una instancia de xen) y rsync /usr alrededor. Me hace la vida más fácil.