OK. Soy más o menos un novato HTTPD apache, así que por favor desnudo conmigo.Permita que Apache sirva múltiples directorios a través del único <Location>
Tengo un problema con la prestación de una gran cantidad de VirtualHosts y me preguntaba si existe una forma más eficiente de hacer las cosas.
Actualmente estoy usando la directiva de ubicación para servir una gran cantidad de proyectos de diferentes departamentos, más de 300 proyectos de 19 departamentos en total. Las estructuras son las mismas para todas las directivas de Ubicación, excepto para los directorios desde los que se sirven los archivos. Actualmente lo que tengo es un archivo de gran tamaño que se ve algo como esto:
<VirtualHost *>
ServerName www.myserver.com
<Location /departmentA/project1>
AuthType Basic
AuthName "By Invitation Only"
AuthUserFile /usr/local/departmentA/project1/passwords
Require valid-user
</Location>
<Location /departmentA/project2>
AuthType Basic
AuthName "By Invitation Only"
AuthUserFile /usr/local/departmentA/project2/passwords
Require valid-user
</Location>
<Location /departmentB/project1>
AuthType Basic
AuthName "By Invitation Only"
AuthUserFile /usr/local/departmentA/project1/passwords
Require valid-user
</Location>
</VirtualHost>
Como se puede ver todas estas estructuras son los mismos a excepción de los caminos. Lo que me gustaría es, por supuesto, algo en lo que pueda usar variables para el departamento y los nombres de proyectos y simplemente mantener una única directiva de ubicación. Supongo que esto también es menos pesado en el servidor y la memoria.
Cualquier ayuda es muy apreciada.
Hola. Entiendo lo que dices. Sin embargo, lo que no entiendo es cómo integrar esto. ¿Quiere decir que Apache puede llamar esto en tiempo real o quiere decir que tengo que generar cada ubicación por adelantado? – Luke
No, Apache no puede hacer esto automáticamente. Debe ejecutarlo para regenerar la configuración de Apache cada vez que desee cambiar el conjunto de ubicaciones protegidas (y luego deberá volver a cargar Apache). No pensé que no fuera el tipo de cosas que tendrías que hacer con frecuencia. –