7 votos

¿Instalar servicios de aplicación/HTTP "/ srv"?

He estado trabajando con un equipo que se utiliza para instalar todas las aplicaciones y servicios de HTTP como Apache o Tomcat para el "/srv' directorio. Sospecho que sobre todo en el fin de mantener los servicios instalados separados desde el sistema operativo tanto como sea posible. Para mis propios proyectos en los que mantienen esta práctica. Sin embargo, con el tiempo, más y más se parecía a esto podría no ser una muy buena idea: evita mediante la distribución de paquetes específicos (que tenía una reputación muy mala en ese equipo, por lo que casi todo estaba instalaciones personalizadas), y me di cuenta de que me estaba metiendo en problemas cuando se intenta utilizar el chef de cocina, que ya están disponibles.

Así que últimamente me estaba tentado a cambiar a partir de la distribución específica de paquetes en lugar de tratar de construir instalaciones personalizadas que encajar en la estructura de directorios. Me preguntaba si hay algo que me podría estar pasando por alto. Hay alguna buena razón para poner todo en un "/srv " del directorio o alguna buena razón para no utilizar la distribución de paquetes específicos?

Lo que actualmente se necesita en mi pila es: nginx, Tomcat (Oracle JDK) y MongoDB.

16voto

dawud Puntos 8494

El FHS compatible ruta para instalar el software de terceros no /srv, pero /opt. Marque aquí y aquí.

Con respecto a si es o no el uso de paquetes precompilados, usted tiene dos opciones:

  • Use si usted confiar en el proveedor respecto a las actualizaciones de seguridad y correcciones de errores. Yo, que seguramente tienen más mano de obra y los recursos dedicados a esta tarea de su empresa. Usted puede seguir utilizando el sistema operativo por defecto de los repositorios y el embalaje de la infraestructura. Llegar a vivir con cualquier versión proporciona el fabricante (además de que se incluya revisiones).
  • No los uso, y el parche de su elaboración casera de la instalación cada vez que una nueva vulnerabilidad de la que se hizo público. Usted necesita para mantener su privados de los repositorios (bueno, también puede instalar manualmente todo cada vez). Usted puede utilizar las versiones más recientes del software.

Si usted sólo tendrá que mantener 5-10 máquinas, poniendo todo bajo /opt es factible, pero si el mantenimiento de una granja de más de un par de cientos, usted estaría Haciendo Mal™

En mi opinión, el profesional de la manera de hacerlo es utilizar el proveedor suministra paquetes precompilados a menos que exista una razón de peso para no hacerlo.

10voto

edvinas.me Puntos 1256

No creo /srv nunca fue una buena idea. Para este caso no es /usr/local o /opt directorio, mientras que /srv es para el sitio específico de datos que son servidos por el sistema.

Esto es definido por el sistema de Ficheros Heararchy Estándar, tenga en cuenta que no es seguido por el 100% en todas las distribuciones. FHS sugiere lo siguiente:

  • /srv - Datos específicos de los que son servidos por el sistema.
  • /opt - Opcionales de la aplicación de los paquetes de software.

Respecto a la distribución de paquetes específicos, generalmente debe usar a menos que haya una muy buena razón para no hacerlo. Mantener todo actualizado y asegurarse de tener parches más recientes puede ser demasiado difícil de mantener y puede exponer al sistema de riesgos de seguridad adicionales. Incluso en los casos en los que su distribución de linux, el gestor de paquetes proporciona un mayor de la que necesita la versión, usted puede encontrar por lo general de la comunidad mantienen repositorios para las versiones más recientes de ciertos paquetes que sería más fácil maintaint de sus propios paquetes. Este es generalmente el caso de los más populares paquetes como nginx en distrubutions como CentOS (experiencia personal).

Lo que me gustaría seguir en /srv (tenga en cuenta que esto es una preferencia personal):

  • http vhost basado en los directorios (por ejemplo /srv/http/example.com)
  • ftpsites (por ejemplo /srv/ftp/example.com)
  • buzones de correo (por ejemplo /srv/mail/example.com/user)

Esto me ayuda a mantener /srv/ organizado con la que manejan los datos, mientras que la mayoría de las distribuciones de mantener estos archivos en /var, yo uso este para que yo pueda tener la misma estructura de directorios para el común de datos específicos a través de diferentes distribuciones.

6voto

Scott Leadley Puntos 161

Este ejemplo en particular, la reorientación de cada paquete a /srv, mientras que una forma de seguridad en el trabajo, parece singularmente miope e improductivo, a partir de un potencial de negocio (donde productivo significa el avance de la usabilidad/rentabilidad/seguridad/etc. el entorno de trabajo de estas aplicaciones son la porción).

Si usted puede vivir con lo que una distro paquete hace a su sistema, entonces usted está aprovechando el desarrollo y las pruebas del equipo que elabora el paquete ha puesto en ello y con las actualizaciones. Si usted no puede vivir con lo que la distribución de paquete hace a su sistema, a continuación, busque un paquete o convencer a/engatusar/acosar al grupo de desarrollo de hacer las cosas "a su manera" (o al menos hacer que sea más fácil que hacerlo "a su manera") o encapsularlo en una máquina virtual. O se ponen en la mínima cantidad de esfuerzo necesario para corregir la real/el problema percibido y automatizar el infierno fuera de aprovisionamiento y la gestión de la configuración con su favorito juego de herramientas. Parafraseando a Dijkstra, la sencillez y la repetibilidad son requisitos previos para la fiabilidad.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: