Commande non valide 'VirtualDocumentRoot'

13

Je ne sais pas pourquoi j'obtiens l'erreur suivante lors du redémarrage d'Apache:

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

L'extrait auquel il fait référence est le suivant:

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

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

J'ai supposé qu'il s'agissait d'une faute d'orthographe, comme il était dit, mais il a été copié directement à partir d'un autre de mes serveurs. Cela fonctionne parfaitement là-bas. Des idées?

Andy
la source

Réponses:

27

La documentation suggère que la directive est fournie par le module vhost_alias. Vous devez vous assurer que vous avez le

LoadModule vhost_alias_module modules/mod_vhost_alias.so

directive de configuration dans le fichier de configuration du serveur où cela ne fonctionne pas.

Chapelier Fou
la source
12
Merci beaucoup! Cela m'a aidé à le résoudre. Le code que vous avez publié n'a pas fonctionné directement, mais j'ai chargé le module en utilisant:a2enmod vhost_alias
andy
Bon pour vous, pour partir d'un indice et creuser plus fort - c'est ainsi que réside l'excellence!
MadHatter
3

J'ai eu la même erreur qu'Andy, mais dans mon cas, la situation est un peu différente. Et à partir de la réponse de MadHatter, je pouvais imaginer le problème.

Mon serveur apache2 était un peu différent. Il a 2 répertoires à savoir /etc/apache2/mods-available& /etc/apache2/mods-enabled. Dans le répertoire, mods-availablevous verrez une liste de fichiers de configuration de module chargeable, dans ce cas, je vois un fichier nommé vhost_alias.loadqui contient la configuration

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

Alors, j'ai utilisé la commande ci-dessous pour activer cette configuration:

sudo a2enmod vhost_alias
datnt
la source