Linux FHS: / srv vs / var ... ¿dónde pongo las cosas?

55

Mi experiencia de desarrollo web comenzó con Fedora y RHEL, pero estoy haciendo la transición a Ubuntu. En Fedora / RHEL, el valor predeterminado parece estar usando la carpeta / var mientras Ubuntu usa / srv.

¿Hay alguna razón para usar uno sobre el otro y dónde se divide la línea? (Me confundió tanto que hasta hace muy poco, pensaba que / srv era / svr para servidor / servicio)

Mi principal preocupación trata con dos tipos de carpetas

  • directorios predeterminados de www y ftp
  • carpetas de aplicaciones específicas como:
    1. recursos compartidos de samba (posiblemente agrupados en una carpeta smb)
    2. aplicaciones web (si estas van en la carpeta www, o si puedo, ¿puedo hacer un enlace simbólico a su propio directorio como "___ / www / wordpress" -> "/ srv / wordpress")

Estoy buscando las mejores prácticas, los estándares de la industria y las razones cualitativas para cuál enfoque es el mejor (o al menos por qué es el preferido).

wag2639
fuente
Quizás esta otra pregunta lo ayude: serverfault.com/questions/102569/…
ptman

Respuestas:

51

Esto se deriva de LSB que dice " /varcontiene archivos de datos variables. Esto incluye directorios y archivos de spool, datos administrativos y de registro, y archivos transitorios y temporales". pero dice esto para /srv: " /srvcontiene datos específicos del sitio que sirve este sistema".

SuSE fue uno de los primeros distos que utilicé que mantuvo el webroot en uso /srv, generalmente Debian / Ubuntu / RHEL /var/www, pero también tenga en cuenta que si instala una aplicación web usando yum o apt, probablemente terminen en /usr/share. Además, las pautas de empaquetado para Fedora dicen que un "paquete, una vez instalado y configurado por un usuario, puede usarse /srvcomo una ubicación para los datos. El paquete simplemente no debe hacerlo inmediatamente ".

En una reflexión equilibrada, diría que sigas /var/wwwo puedes hacer ambas cosas haciendo /var/wwwun enlace simbólico a /srv/www. Sé que en los sistemas RDBMS de Oracle que construyo a menudo creo, /u01 /u02etc., como enlaces simbólicos /home/oracle. La razón de esto es que muchos DBA esperan encontrar cosas en / u01 y muchos otros esperan /home/oracle. Lo mismo se puede decir de los Sysadmins en general: algunos lo verán instintivamente /var/wwwy /srv/wwwotros lo harán mientras que otros como yo buscarán la configuración de apache para el DocumentRoot.

Espero que esto te sirva de guía.

Geraint Jones
fuente
66
Normalmente pongo los recursos "servidos" en / srv, principalmente por razones de almacenamiento y respaldo. De esta manera, los datos servidos pueden estar en un grupo de almacenamiento diferente de los archivos administrados por el sistema, como la caché y los registros aptos, y es más fácil acomodar más espacio si es necesario.
gerlos
3
El uso de la /srvpartición es particularmente útil cuando se tiene unidades separadas montadas sobre /vary /srvno quiere que su registro a afectar a su IO. Vale la pena mencionar que Apache también viene con Directorydirectivas /srv, solo se comentan.
varlogtim