無効なコマンド「VirtualDocumentRoot」


13

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>

私はそれが言ったようにスペルミスだと思ったが、それは私の別のサーバーから直接コピーされた。完璧に機能します。何か案は?

回答:


27

ドキュメントは、ディレクティブがモジュールvhost_aliasによって提供されることを示唆しています。あなたが持っていることを確認する必要があります

LoadModule vhost_alias_module modules/mod_vhost_alias.so

動作しないサーバーの構成ファイル内の構成ディレクティブ。


12
どうもありがとうございました!それが解決に役立ちました。あなたが投稿したコードは直接動作しませんでしたが、私は次を使用してモジュールをロードしましたa2enmod vhost_alias
andy

ヒントから始めて、より深く掘り下げるために、あなたにとって良いです-その方法は卓越しています!
MadHatter

3

Andyが提供したのと同じエラーがありましたが、私の場合、状況は少し異なります。そして、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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.