Comando no válido 'VirtualDocumentRoot'

13

No estoy seguro de por qué recibo el siguiente error cuando se reinicia Apache:

Invalid command 'VirtualDocumentRoot', perhaps misspelled or defined by a module not included in the server configuration Action 'start' failed.

El fragmento al que se refiere es este:

<VirtualHost *:80>
        ServerAdmin [email protected]
        VirtualDocumentRoot /local/www/staging/%1

        ServerAlias *.staging.mydomain.com
</VirtualHost>

Supuse que era un error ortográfico como decía, pero fue copiado directamente de otro servidor mío. Funciona perfecto allí. ¿Algunas ideas?

andy
fuente

Respuestas:

27

La documentación sugiere que la directiva es proporcionada por el módulo vhost_alias. Debe asegurarse de tener la

LoadModule vhost_alias_module modules/mod_vhost_alias.so

directiva de configuración en el archivo de configuración del servidor donde no funciona.

MadHatter
fuente
12
¡Muchas gracias! Eso me ayudó a resolverlo. El código que publicó no funcionó directamente, pero cargué el módulo usando:a2enmod vhost_alias
andy
Bien por ti, por comenzar desde una pista y cavar más duro, ¡esa es la excelencia!
MadHatter
3

Tuve el mismo error que Andy proporcionó, pero en mi caso, la situación es un poco diferente. Y a partir de la respuesta de MadHatter, pude idear el problema.

Mi servidor apache2 era un poco diferente. Tiene 2 directorios a saber /etc/apache2/mods-available& /etc/apache2/mods-enabled. Dentro del directorio mods-available, verá una lista de archivos de configuración de módulos cargables, en este caso, veo un archivo llamado vhost_alias.loadque contiene la configuración como

LoadModule vhost_alias_module /usr/lib/apache2/modules/mod_vhost_alias.so

Entonces, usé el siguiente comando para habilitar esta configuración:

sudo a2enmod vhost_alias
datnt
fuente