Comando non valido 'VirtualDocumentRoot'


13

Non sono sicuro del motivo per cui viene visualizzato il seguente errore al riavvio di apache:

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

Lo snippet a cui si riferisce è questo:

<VirtualHost *:80>
        ServerAdmin help@mydomain.com
        VirtualDocumentRoot /local/www/staging/%1

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

Ho pensato che fosse un errore di ortografia come diceva, ma è stato copiato direttamente da un altro mio server. Funziona perfettamente lì. Qualche idea?

Risposte:


27

La documentazione suggerisce che la direttiva è fornita dal modulo vhost_alias. Dovresti assicurarti di avere il

LoadModule vhost_alias_module modules/mod_vhost_alias.so

direttiva di configurazione nel file di configurazione del server in cui non funziona.


12
Grazie mille! Questo mi ha aiutato a risolverlo. Il codice che hai pubblicato non ha funzionato direttamente, ma ho caricato il modulo utilizzando:a2enmod vhost_alias
andy

Buono per te, per partire da un suggerimento e scavare di più - in questo modo sta l'eccellenza!
MadHatter,

3

Ho avuto lo stesso errore fornito da Andy, ma nel mio caso la situazione è leggermente diversa. E dalla risposta di MadHatter, ho potuto escogitare il problema.

Il mio server apache2 era un po 'diverso. Ha 2 directory vale a dire /etc/apache2/mods-available& /etc/apache2/mods-enabled. All'interno della directory mods-availablevedrai un elenco di file di configurazione del modulo caricabile, in questo caso vedo un file chiamato vhost_alias.loadche contiene la configurazione come

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

Quindi, ho usato il comando seguente per abilitare questa configurazione:

sudo a2enmod vhost_alias
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.