2012-04-08 6 views
0

私のApacheを別のものに設定したいと思います。今、DocumentRootsの1つが見つからない場合、すべてのサーバーが起動に失敗します。それは迷惑です..Apacheが足りないDocumentRootを無視する

このエラーを無視するオプションはありますか? Ubuntuの上

...

があなたのDocumentRootディレクティブはバーチャルホストでsynonomously使用されていることを前提にして、あなたが彼らの中に個々にこれらを配置し、別のCONFファイルに仮想ホストの設定を分けることができ、あなたに

答えて

1

ありがとうございましたドキュメントのルートを作成し、ディレクトリ全体のインクルードディレクティブを一般的なサーバー全体のconfに含めます。例えば以下を参照してください:

は以下のディレクトリ内にあるconfを作成します。以下

Include /data/www/sites/ 

これは上記のディレクトリ内のすべてのconfファイルとすべてのサブディレクトリが含まれます追加

/etc/apache/sites-enabled/sites.conf 

次のDocumentRootを持つホストの場合

/data/www/sites/website-one 

のVirtualHost confファイルを作成し、上記のディレクトリなどに置き:

/data/www/sites/website-one/website-one.confそして、あなたのconfファイルがすべて含まれていますDocumentRootの例えば

<VirtualHost *:80> 
DocumentRoot /data/www/sites/website-one 
ServerName www.website-one.com 

# Other directives here 

</VirtualHost> 

を含むバーチャルホストに関する情報のDocumentRootが存在しない場合は、confファイルがロードされません。また、DocumentRootディレクティブは実行されません。セキュリティ上の理由から、confファイルが逆参照できないように注意してください。これは、おそらくサーバーレベルでは無効にする必要がありますが、これは注意する必要があります。最後に、上記のパターンは、/data/www/sitesディレクトリとサブディレクトリにある悪いconfファイルがサーバを起動させないことを意味します。

0

ウィリアムの答えに追加するには、/ etc/apache2/sites-available /というディレクトリを使用することができます。大会では、必要なサイトごとにファイルを作成します。 foo.example.comというサイトがある場合は、/ etc/apache2/sites-available /にfoo.example.comというファイルを作成し、このファイルのそのサイトのVirtualHost構成に入れます。そのサイトを有効にするには、a2ensite foo.example.comコマンドを使用してからapacheを再起動します。

関連する問題