Entry

/etc 配下に httpd.conf があるのはやっぱり許せない

2007年01月30日

新しく立てたサーバは,結局 Debian GNU Linux に入ってもらうことになりました。1年前くらいに作った DVD 版のディストロなんですけれど,まぁ,この際なんでもいいや,と。

なんで Linux にしたのかというと,このサーバ(CSide)が Debian だからです。ほんとうは何を入れてもよくて,簡単なファイルサーバとウェブサーバがあれば当面オッケーだったんですけれど,どうせだったらコンパイル環境も作っちゃえ,ということで,Linux になったというわけ。ただそれだけ。でも,最近 C で CGI を作るのにハマッてるあたしとしては,コンパイルできる環境が欲しかったのも事実です(ボロノートに入れていた Vine は遅くて困った)。

それにしても,あれですね。よく言われていることですけれど,なんで /etc 配下に httpd.conf を置くかなぁ……。この神経が許せないっつーか,なんつーか……。だって,外部パッケージでしょ。自宅の軒先に他人の家をこしらえるようなもんでしょ(←偏見丸出しで煽ってみる)。

個人的な認識では,‘/’→‘/usr’→`/usr/local' の順番でローカル度(そのホストに固有な性質の度合)が上がっていって,それぞれの階層に,bin やら lib やら etc やらがあるってな認識だったのでした。つまるところ,マトリックスになってるわけで,‘/’→‘/usr’→`/usr/local' を縦軸,bin や etc を横軸に置くことができる,と。上に登れば登るほど,どのマシンにも共通したファイルが置かれるようになっていく,というわけです。

そう考えると,httpd.conf を /etc に置くのはおかしい。Linux ユーザのホストにはみんな apache が入ってるのか(入ってそうだな)。まったく,こんなヘンテコな文化はどこから来たんでしょう。System V からの流儀なのかな……。と,ぶつくさ言いながら調べましたよ。まったくもう。

Linux には各ディストロが参照するための標準が一応定まっていて,LSB(Linux Standard Base)というもんがあります。もちろん,ディレクトリ構造(階層)についても標準があって,FHS(Filesystem Hierarchy Standard)なるもんがあるんです。これは周知の通り。問題は,なぜ /etc に httpd.conf を置くかです。

現段階で最新の FHS 2.3 を読んでみると,/etc の役割については,以下のような記述があります。

The /etc hierarchy contains configuration files. A "configuration file" is a local file used to control the operation of a program; it must be static and cannot be an executable binary.

/etc : Host-specific system configuration - Filesystem Hierarchy Standard

チョウ訳すると,「/etc の階層には設定ファイルを置きます。『設定ファイル』というのはプログラムを制御するのに使うローカルファイルのこと――静的なものでなくちゃいけないし,実行可能なバイナリであってはいけません」みたいになるのかな。「静的」というのは,ログファイルみたいに,ガチャガチャ書き換えられるファイルじゃない,ってことですね。ともあれ,これによると,httpd.conf を /etc に置くことは,要件に合致しています。というか,「置いても構わない」。外部パッケージの設定ファイルはダメ,とか書いてませんしね。ムキーッ!

結局のところ,なんで /etc に httpd.conf を置いてもいいのかは,よく分かりませんでした。同じ文書には,/opt にあるもんの設定ファイルは /etc/opt に置こうね,とは書いてあったけれども,少なくとも apt-get した Apache は /opt 以下にはありません。 Linux の場合,Apache も Linux の一部ってな認識なんでしょうか。/etc/opt に設定ファイルを隔離するように勧めているのは,外部パッケージと隔離するためですもんね。そう考えると,つじつまが合うような合わないような。

ということで,一応落とすべきところに落ちた感じがしたので勝手に納得。せっかく使わせてもらってるんですもんね,文句言わずに使います(違和感は残るけど)。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN