Назад | Перейти на главную страницу

Неверная команда VirtualDocumentRoot

Я не уверен, почему при перезагрузке apache появляется следующая ошибка:

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

Фрагмент, на который он ссылается, следующий:

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

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

Я предположил, что это было неправильно написано, но оно было скопировано прямо с другого моего сервера. Там он отлично работает. Любые идеи?

Документация предполагает, что директива предоставляется модулем vhost_alias. Вы должны убедиться, что у вас есть

LoadModule vhost_alias_module modules/mod_vhost_alias.so

директива конфигурации в файле конфигурации сервера, на котором она не работает.

У меня была та же ошибка, что и у Энди, но в моем случае ситуация немного другая. И из ответа MadHatter я мог придумать проблему.

Мой сервер apache2 был немного другим. Он имеет 2 каталога, а именно /etc/apache2/mods-available & /etc/apache2/mods-enabled. В каталоге mods-available вы увидите список загружаемых файлов конфигурации модуля, в этом случае я вижу файл с именем vhost_alias.load который содержит конфигурацию как

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

Итак, я использовал следующую команду, чтобы включить эту конфигурацию:

sudo a2enmod vhost_alias