私は新しい仕事でCentOSベースのWebサーバーのクラッチの管理を開始し、debianベースのLinuxサーバーを数年間使用した後、以下のようにApacheファイル構造にかなり慣れました。
/etc/Apache2
Apache2.conf
conf.d/
envvars
mods-available
mods-enabled
ports.conf
sites-available
sites-enabled
これは、私が利用できるが必ずしも使用されているとは限らないモジュールがmod-available
にあり、ユーザーのモジュールがmods-enabled
にあり、同様にsites
に直接あることは私には理にかなっています。確かに、これらは主にシンボリックリンクですが、なぜこのように行われるのか理解できます。新しくシステムにアクセスすると、関連する*enabled
ディレクトリを調べることで、システムで何が起きているかを大まかに把握できます。
比較すると、CentOSのセットアップは次のようになります。
/etc/httpd
conf
conf.d
logs -> ../../var/log/httpd
modules -> ../../usr/lib64/httpd/modules
run -> ../../var/run
apachectl -S
とapachectl -M
を呼び出してモジュールを表示することで、どのホストが有効になっているかを確認できます。/conf.d/example.conf
の名前をconf.d/example.conf.disabled
に変更すると、サイトを適切に無効にできます。単純にもそうですが、そもそもなぜこれらが違うのかわかりませんし、今のところ、どういうわけかそれを行うことの利点がわかりません。
2つの違いを説明するのに役立つページ、ブログ投稿、またはサイトはありますか?また、なぜこれらがこのように設定されているのかについての考えもありますか?
今、私は標準のCentOSファイルシステムで見られる慣習に盲目的に従っていますが、その理由を理解せずに、selinuxのパーミッションレイヤーをぶち壊したときのように、少なくとも期待したときに噛み付くのを感じずにはいられません。似たような。
それについての考え方が違うだけです。ディレクトリ構造をそのままにしておけば、何も心配する必要はないと思います。明らかに、他のパッケージは独自の.confファイルをconf.dディレクトリにドロップするため、名前を変更したり移動したりすることはお勧めできません。モジュール対応/使用可能は削除されますが、すべてのパッケージのconf.dファイルに含まれるインクルード行は考慮されません。それでも、RPMのインストール後ルーチンを介してhttpd.confファイルに追加するものもあります。
すべてのディストリビューションには特定の設定があり、作成時に最適であると考えたモデルに従います。これは、開発者の標準と好みの欠如が原因です...
理解することはあまりないと思います。