Comando inválido 'VirtualDocumentRoot'


13

Não sei ao certo por que estou recebendo o seguinte erro quando o apache é reiniciado:

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

O trecho a que se refere é este:

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

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

Presumi que fosse um erro de ortografia, como dizia, mas foi copiado diretamente de outro servidor meu. Funciona perfeito lá. Alguma ideia?

Respostas:


27

A documentação sugere que a diretiva seja fornecida pelo módulo vhost_alias. Você deve garantir que possui as

LoadModule vhost_alias_module modules/mod_vhost_alias.so

diretiva de configuração no arquivo de configuração do servidor em que ele não funciona.


12
Muito obrigado! Isso me ajudou a resolvê-lo. O código que você postou não funcionou diretamente, mas eu carreguei o módulo usando:a2enmod vhost_alias
andy

Bom para você, para começar de uma dica e cavar com mais força - dessa maneira reside a excelência!
21412 MadHatter

3

Eu tive o mesmo erro que Andy forneceu, mas no meu caso, a situação é um pouco diferente. E a partir da resposta do MadHatter, eu pude conceber o problema.

Meu servidor apache2 era um pouco diferente. Possui 2 diretórios, a saber /etc/apache2/mods-available& /etc/apache2/mods-enabled. Dentro do diretório, mods-availablevocê verá uma lista do arquivo de configuração do módulo carregável. Nesse caso, eu vejo um arquivo chamado vhost_alias.loadque contém a configuração como

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

Para isso, usei o comando abaixo para habilitar esta configuração:

sudo a2enmod vhost_alias
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.