Я не уверен, почему при перезагрузке 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