GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es el directorio recomendado para almacenar el contenido del sitio web?

No hay un directorio "mejor". Y aunque la gente podría argumentar que esta pregunta es subjetiva, o que la ubicación real de los archivos no importa, y tienen razón sobre esto último, hay hay recomendaciones estandarizadas sobre dónde poner qué en sistemas similares a Unix.

El estándar de jerarquía del sistema de archivos define esto y le ofrece lo siguiente:

  • /var – un lugar para colocar datos que cambian durante el funcionamiento normal, como registros, etc. /var/www es el directorio predeterminado para colocar contenido web para Apache, pero su uso no está estandarizado en absoluto y es solo el lugar "habitual" donde lo colocaría porque las personas no cambian la configuración predeterminada con mucha frecuencia.

  • /srv – este directorio debe contener datos que son servidos por el sistema. Este suele ser el lugar que desea. La FHS explica:

    El propósito principal de especificar esto es para que los usuarios puedan encontrar la ubicación de los archivos de datos para un servicio en particular, y para que los servicios que requieren un solo árbol para datos de solo lectura, datos de escritura y secuencias de comandos (como secuencias de comandos cgi) puedan ubicarse razonablemente. Los datos que solo son de interés para un usuario específico deben ir en el directorio de inicio de ese usuario. (…)

    Un método para estructurar datos bajo /srv es por protocolo, ej. ftp , rsync , www y cvs

    Entonces, simplemente crea un /srv/www directorio y usa esto. Puede crear subcarpetas para cada host virtual que desee servir con su máquina.

  • /home contiene archivos que realmente deberían pertenecer a un solo usuario. Apache, por ejemplo, permite directorios de usuario, por lo que puede acceder a los archivos web de un usuario a través de http://example.com/~username , y se sirven desde el public_html directorio en la casa del usuario.

    Si usa un servidor que se comparte entre varias personas y desea permitir que todos alojen sus propios scripts, aquí es donde deben ir. Recuerde hacer que los directorios sean escribibles solo por el usuario al que pertenecen.

En esencia /srv/www y /var/www son directorios en los que debe crear subdirectorios para cualquier proyecto web que desee alojar. Luego puede definir diferentes permisos en estos directorios para permitir que ciertos usuarios o grupos de usuarios escriban en ellos. Si tiene proyectos para un usuario a la vez, use /home .


Bueno, puede colocar archivos en cualquier lugar siempre que las cosas puedan acceder a ellos correctamente, sin embargo, los sistemas de archivos desordenados son un dolor de cabeza si alguien llega más tarde.

/srv es más lógico y si sigue el estándar de jerarquía del sistema de archivos, iría aquí.

Si tiene varios dominios, puede hacer /srv/domain1 /srv/domain2 etc etc luego subcarpeta dentro de allí /ftp /www /tftp /logs /etc.etc.etc

Para mí, eso se siente como una estructura muy sólida para construir y controlar fácilmente

Pero como administrador, puede hacer todo lo limpio o desordenado que desee.


Ok, respuesta fácil y rápida.

Si solo UN usuario en el sistema Linux accederá a sus archivos web en el sistema. Utilice el directorio de inicio del usuario (~/ ).

Si sus archivos web en el sistema serán accedidos por MÚLTIPLES usuarios en el sistema Linux. Usa /srv/ .

Esto es exactamente lo que dice http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM.

Aquí está la cita:

/srv contiene datos específicos del sitio que son atendidos por este sistema.

El propósito principal de especificar esto es para que los usuarios puedan encontrar la ubicación de los archivos de datos para un servicio en particular, y para que los servicios que requieren un solo árbol para datos de solo lectura, datos de escritura y secuencias de comandos (como secuencias de comandos cgi) puedan ubicarse razonablemente. Los datos que solo son de interés para un usuario específico deben ir en el directorio de inicio de ese usuario.

Bonificación:www? ftp? ¿Organizarse por protocolo? ¿Eh?

Como se indica aquí en http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM

  • Si solo UN usuario del sistema accede a su sitio web y SOLO a través del navegador (protocolo http), entonces:~/http/your-website-directory/
  • Si solo UN usuario del sistema accede a su sitio web y NO SOLO a través del navegador, sino a través de varios protocolos (por ejemplo, http Y tcp Y...), entonces:~/your-website-directory/
  • Si MÚLTIPLES usuarios acceden a su sitio web en el sistema y SOLO a través del navegador (protocolo http), entonces:/srv/http/your-website-directory/
  • Si MÚLTIPLES usuarios del sistema acceden a su sitio web y NO SOLO a través del navegador, sino también a través de varios protocolos (por ejemplo, http Y ftp Y...), entonces:/srv/your-website-directory/

¿Eh, por qué no www? Este es un legado de la época de Apache. www no especifica qué protocolo se está utilizando. Debian todavía usa esto a día de hoy, mientras que, por ejemplo, Arch Linux usa /srv/http.


Linux
  1. ¿Cuál es el nivel de ejecución actual del sistema Linux?

  2. ¿Detectar el sistema Init usando el shell?

  3. ¿Cuál es el punto de cifrar el directorio de inicio?

  4. ¿Cuál es el equivalente de Active Directory en Linux?

  5. ¿Qué sistemas de archivos en Linux almacenan la hora de creación?

¿Qué es Intel SGX y cuáles son los beneficios?

Cómo encontrar la utilización de la CPU, qué hace que el sistema se cuelgue

Linux:¿qué sistemas de archivos en Linux almacenan el tiempo de creación?

Ruta absoluta vs relativa en Linux:¿Cuál es la diferencia?

¿Cuál es el propósito del directorio setgid?

¿Qué significa el sufijo .d en Linux?