¿Hay alguna forma de incluir la configuración en Apache en función de si existe un directorio? Básicamente tengo un disco duro portátil que transmito entre el trabajo y el hogar que tiene algunas cosas que estoy desarrollando en él. Solo quiero que la configuración de Apache cargue un host virtual particular si la carpeta existe.¿Hay alguna manera de verificar si existe un directorio en los archivos de configuración de Apache?
¿Hay alguna manera de verificar si existe un directorio en los archivos de configuración de Apache?
Respuesta
No, parece que no hay una forma directa de hacerlo.
Lo único que podría ser ser una solución es la directiva IfDefine
. Puede definir define utilizando el parámetro -d
cuando se inicia el servidor.
El argumento del nombre del parámetro es una definición como se da en la línea de comandos de httpd a través de
-Dparameter-
, en el momento en que se inició el servidor.
Es posible que pueda comprobar la existencia de un directorio en un archivo por lotes o bash, y establecer el parámetro -d
en consecuencia.
Si se trata de una opción, dependerá de cómo se inicia el servidor desde el disco duro portátil.
He encontrado una solución que parece funcionar para Linux y OS X, y depende de "puntos de montaje". También es posible emularlo dentro de Windows, pero probablemente tendrías que ser creativo con FUSE y/o Cygwin.
Si crea una carpeta vacía en su directorio de inicio, como "/ Users/username/ExtraVhosts", puede agregar una directiva apache a "Include/Users/username/ExtraVhosts/*".
Luego, cuando inserte su memoria USB, puede montarla en algún lugar y luego usar "vinculación" de punto de montaje para vincular la carpeta ExtraVhosts a una carpeta en el dispositivo móvil.
Un OS X ejemplo:
- Tengo un pulgar unidad llamada 'Cherrybomb'
- Cuando lo inserte, siempre se monta en/Volumes/Cherrybomb
- entonces puedo usar bindfs (sudo port instalar bindfs) para montar una subcarpeta de la misma, así:
- sudo bindfs/Volumes/Cherrybomb/Proyectos/vhosts/Users/username/ExtraVhosts
- Entonces puede reiniciar apache para leer en la configuración actualizada:
- sudo/opt/local/apache2/bin/apachectl reiniciar
En ese momento, es sólo una cuestión de agregar entradas en/etc/hosts para que los alias del servidor sean recogidos.
El equivalente de Linux estaría utilizando el parámetro "--bind" del comando mount.
Una advertencia: Esto hace que sea difícil desmontar rápidamente la unidad USB, ya que siempre está marcada como "en uso" por apache.He aquí un procedimiento de extracción:
- Cierre todos los archivos abiertos y sesiones de terminales que utilizan la unidad (el actual trabajo-directorio en el terminal puede causar problemas de desmontar)
- Parar Apache: sudo/opt/local/apache2/bin/apachectl detener
- desmontar/Users/username/ExtraVhosts
entonces se puede desmontar o bien gráficamente o manualmente (umount/Volumes/Cherrybomb).
Si las máquinas de su trabajo y del hogar montan la unidad en diferentes ubicaciones, puede tener varias carpetas de fantasmas - home_vhost, work_vhost, etc. - y usar eso en el paso de enlace.
espero que esto ayude a alguien por :)
Si Apache Point al punto de montaje única no debería ser un problema. Simplemente no apunte Directivas de directorio a directorios dentro de la unidad.
por ejemplo, si monta/dev/somedisk/mnt/somevhost, el directorio /mnt/somevhost estará allí aunque no tenga la unidad montada y apache se iniciará. A Apache no le importa si el directorio está vacío, por lo que <Directory "/mnt/somevhost"/>
no provocará que el servidor no se inicie si el disco no está montado.
Trabajo con UNIX no está en contra: esta solución debe ser suficiente para el desarrollo.
- 1. JS ¿Hay alguna manera de verificar si existe un evento?
- 2. C manera más rápida de verificar si existe un directorio
- 3. ¿Hay alguna manera de verificar si hay enlaces simbólicos apuntando a un directorio?
- 4. ¿Existe alguna manera más segura de crear un directorio si no existe?
- 5. ¿Cómo puedo verificar si existe un directorio?
- 6. ¿Hay alguna manera de verificar si el anclaje está activo?
- 7. Compruebe si existe un archivo/directorio: ¿hay una mejor manera?
- 8. ¿Hay alguna manera de verificar si el puntero está colgando?
- 9. ¿Hay alguna manera de decirle a Mercurial que coloque los archivos .orig en un directorio aparte?
- 10. Cómo verificar si existe un directorio determinado en Ruby
- 11. estado de git: ¿hay alguna manera de mostrar los cambios solo en un directorio específico?
- 12. manera pitonica para verificar si algo existe?
- 13. ¿Existe alguna manera más rápida de verificar si existe una página web externa?
- 14. ¿Hay alguna manera de reescribir if/else en Apache htaccess?
- 15. ¿Hay alguna manera de verificar si dos colecciones contienen los mismos elementos, independientemente de la orden?
- 16. ¿Manera pitónica de verificar si existe un archivo?
- 17. ¿La mejor manera de verificar si existe un objeto PowerShell?
- 18. ¿Hay alguna manera de verificar si un proceso de impresión fue exitoso?
- 19. ¿Puedo verificar si hay HTTPS en los archivos Magento PHTML?
- 20. En .NET MVC, ¿hay alguna manera fácil de verificar si estoy en la página de inicio?
- 21. ¿Mejor manera de verificar si hay elementos en la lista?
- 22. ¿Hay alguna manera de que Apache log logre slow requests?
- 23. ¿Cómo verificar si existe clase en alguna parte del paquete?
- 24. ¿Hay alguna manera de verificar si un usuario realmente calificó su aplicación?
- 25. ¿Hay alguna manera de verificar si una variable es un número entero? C++
- 26. ¿Existe alguna manera más rápida de verificar si esta es una fecha válida?
- 27. Cómo verificar si existe un directorio/archivo/enlace simbólico con un comando en Ruby
- 28. ¿Alguna manera de verificar si una XmlSchemaParticle es una EmptyParticle?
- 29. ¿Cómo verificar si existe un procedimiento almacenado?
- 30. ¿Cómo verificar si existe un cierto ensamblaje?