web-dev-qa-db-ja.com

Apacheはconfファイルをどの順序でロードし、どのファイルをロードしますか?

長年にわたって多くの人が追加したwebframeworkがインストールされたCentOS 6.5サーバーを探しています。/confには、httpd.confを含む5つのアクティブな.confファイルのようなものがあります。

Httpd.confにインクルード読み取り

Include conf.d/*.conf

そして、それはそのディレクトリ内のすべてのファイルを取得しますが、私が知っている特定の順序が適用されていないため、/ conf(.dなし)ディレクトリはどうですか?

読み込み順序を示す設定はありますか、それとも単にa-zから取得した設定ですか?

私はサーバー管理者ではありません。私は開発者であり、問​​題は/ Temp dirにファイルをアップロードするためのパスにあります。指定したパスが自分が関係しているファイルに対して正しいことを確認しました。

したがって、最初の質問は次のとおりです。

Apacheはすべてを/ confからロードしますか、それともどこかで指定されたリストがありますか?

2番目の質問は次のようになります。

Apacheはファイルをアルファベット順にロードしますか?

最後に:

。confで終わらないファイルは含まれますか?たとえば、myconfig.conf.oldという名前を付けた場合、Apacheはそれをスキップしますか?

9
chrtp

順序はアルファベット順です。インクルードパスで指定されたもののみをロードします。 Include conf.d/*.confの場合、Apacheは名前が.confで終わるすべてのファイルをロードします。

これは Apache Documentation からの抜粋です。

シェルスタイル(fnmatch())のワイルドカード文字を使用して、一度に複数のファイルを含めることができます。アルファベット順。さらに、インクルードがファイルではなくディレクトリを指している場合、Apacheはそのディレクトリとサブディレクトリ内のすべてのファイルを読み取ります。しかし、ディレクトリ全体を含めることはお勧めしません。httpdが失敗する原因となる一時ファイルを誤ってディレクトリに残す可能性があるためです。

14
suspectus

Apacheは「Include」ディレクティブに基づいて追加の設定をロードします。おそらく次のようになります:

Include conf.d/*.conf

したがって、明らかに、「*。conf」のように見える「conf.d」のすべてが含まれます。

さらにおかしくするために、「include」を使用して任意の数のディレクトリを追加できます。すべてのディレクトリには、ほぼ同じ構成ファイルを含めることができ、起動時にすべてがお互いにオーバーライドできます...そして、それら自体がオーバーライドされますさまざまなホストされたディレクトリの.htaccessファイル。

私の知る限りでは、httpd.confが最初で、次にディレクトリが含まれる順にディレクトリが続き、次にそこからアルファベット順に配置されます。

良い時間。 apachectl -tまたはapachectl configtestを使用して、構成によって問題が発生するかどうかを判断できます。

1
Satanicpuppy

順序を変更したいのですが、最初のconfファイルをディレクトリsites-availableで開き、最初にVirtualHost *:8仮想ホストコードを追加します。

私の場合、hub.xxx.com.confをbayxxx.com.confの前に置きます。それで、hub.xxx.com.confを開いて、ファイルの先頭に仮想ホストを配置します

例えば:

<VirtualHost *:80>
    DocumentRoot /www/hub.xxx.com/www/root
    ServerName hub.xxx.com
    ServerAlias *.hub.xxx.com
    <Directory "/www/hub.xxx.com/www/root">
        allow from all
        Options +Indexes
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /www/bayxxx.com/www/root
    ServerName bayxxx.com
    ServerAlias www.bayxxx.com
    <Directory "/www/bayxxx.com/www/root">
        allow from all
        Options +Indexes
    </Directory>
</VirtualHost>
1
Pavel