Según una guía sobre la estructura de directorios de Linux , /usr/
es para archivos de aplicaciones y /var/
para archivos que cambian (supongo que esto significa "archivos que pertenecen a las aplicaciones"). ¿Es esto correcto?
Si este es el caso, entonces estoy un poco dividido entre usar cualquiera. Un sitio web es una aplicación (si es dinámico, por así decirlo), pero en otros casos es solo una colección de archivos utilizados por Apache.
El directorio predeterminado de www reside /var/www/
, así que ¿deberíamos hacer lo mismo usando /var/websites/
(o algo similar), o elegir /usr/websites/
ya que podrían ser aplicaciones?
Esta es una pregunta muy trivial, pero de todos modos me está molestando. Para nuestro caso, me estoy inclinando hacia /usr/web
algo así, ya que nuestros sitios web son todas aplicaciones.
Actualizar:
Esto es para los sitios web de nuestra empresa; no es un servidor de alojamiento compartido, por lo que no debemos preocuparnos por separarlos /home/
ni nada por el estilo.
Respuestas:
Según la FHS ,
/usr
es parashareable, read-only data
, no donde desea colocar 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 activos web para Fedora./var
es "archivos de datos variables. Esto incluye directorios y archivos de spool, datos administrativos y de registro, y archivos transitorios y temporales". - mejor, pero aún no del todo correcto - pero se usarán muchos sistemas/var/www
, por lo que incluso si se equivoca al ponerlo allí, está en buena compañía./srv
es para "datos específicos del sitio que sirve este sistema". - lo que parece una buena combinación, pero es mucho menos común que/var/www
.El otro lugar común para colocar los archivos del sitio es debajo
/home
: creando un usuario especial llamadowebsite
o tal, y luego colocando los archivos dentro del homedir de ese usuario (por ejemplo,/home/website
).fuente
/srv
, como nunca había visto esto antes, pensé que fue creado por ellos. ¿Es algo de Redhat / CentOS?/var/www
porque las distribuciones no pueden tocar/srv
; eso es para que el administrador del sistema lo configure. Por eso, es "mucho menos común" y también correcto.Eche un vistazo al Estándar de jerarquía del sistema de archivos ( Wikipedia ). Yo mismo uso / srv / web / $ domain / {htdocs, logs, cgi-bin, ...}.
fuente
Los sitios web deben vivir en los directorios de inicio de los usuarios. Son datos de usuario, deben estar aislados por un usuario por sitio, y el contenido dinámico debe ejecutarse nuevamente como un usuario separado, con archivos que el contenido dinámico necesita leer y modificar dados los permisos apropiados para hacerlo.
Actualizar:
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.
fuente
La guía definitiva es el Estándar de Jerarquía del Sistema de Archivos que dice que
/srv
es el lugar apropiado.fuente
by this system
, son atendidos por un grupo completo de sistemas; y las dos oraciones que comienzan enThis setup will differ from host to host.
sugieren que este no es el lugar para los archivos compartidos en muchos servidores. Es un lugar bastante probable, sin embargo - sin duda más apropiado que/usr
, y sin duda mejor que/var
El lugar 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, así que nunca tengo que preguntarme de una máquina a otra. Algunas máquinas antiguas tienen / u0 y / u1 para discos de usuario, y 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 has adivinado, es un enlace simbólico en algún lugar en / u0 o / u1 normalmente). Esto hace que hacer copias de seguridad sea fácil. Acabo de hacer una copia de seguridad de los discos de usuario.
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 around. Me hace la vida fácil.
fuente
/path/we/chose
"?El servidor web Apache tiene un sitio web predeterminado en / var / www / pero sugiere colocar otros sitios web en / srv /
Me di cuenta de esto en Ubuntu Server 14.04 LTS. Su archivo predeterminado apache2.conf contiene un bloque comentado:
fuente
Según mi opinión, NUNCA y NUNCA coloquen servicios de Internet en la zona común del sistema.
Sus servicios de Internet (Apache / Tomcat / SSH, etc.) son una puerta de entrada, entonces si coloca esos servicios en su zona de Sistema, será potencialmente vulnerable a algunos ataques.
Más que si ha puesto sus diferentes servicios en una zona segura como otra partición de separación.
Aquí hay un ejemplo de estructura que podría usar:
fuente
/srv/bin
parece violar el FHS, que establece que/srv
es para datos, no binarios/home
en una partición separada), puede eliminar todo lo que no está en la/home
partición y no preocuparse por perder los datos del usuario. +1 para segregar datos.