Last-Modified: Wednesday, 12 March 2003 18:29:41 +0900 (JST)

12 March of 2003



・Apache
ircより...
本人は、もう既に 使い方を見つけたようだけど... 一応メモとして残してみる...
Apache の場合、httpd -lと実行すると、(スタティックに組み込まれている) モジュールがリストされます。これだけなら特権ポートを使いませんので、一般ユーザ 権限でも調べることができます。しかし、DSOで読み込まれるモジュールはリストされませんし、 httpd.confの内容も反映されません。例えば、私の手元にある Apache で 組み込まれているモジュールをコマンドラインから調べようとしても 下記のような情報しか 出てきません。

ryuchi@kitty> bin/httpd -l
Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c
ryuchi@kitty> 
これでは、コアなモジュールや mod_so という DSOのためのモジュール、それに MPMには prefork を使っていることしかわかりません。実際には 稼動時には DSOによって、沢山の モジュールがロードされているのですが...
一方、mod_info を使うと稼動中のApacheの状態が見れるようになります。欠点は、 Apache が動作していないと見れないということでしょうか。

さて、実際に使うには、予め スタティックにコンパイルされて組み込まれているか、 Apache の DSOが有効になっていてかつ、mod_info をロードするなっているようにします。 確かデフォルトのコンパイル条件では、組み込まれないようになっていますので、 もし、組み込まれていなければ 追加してください。
次に、httpd.confで、ハンドラをセットしておきます。多くの場合は、 <Location>で特定のパスにアクセスがあった場合に、ハンドラをセットして、 呼び出します。例えば、下記のように...

<Location /server-info>
    SetHandler server-info
    Order deny,allow
    Deny from all
    Allow from .ryuchi.org
</Location>        
サンプルでは、この設定部分がコメントアウトされていると思うので、適宜変更すれば いいでしょう。
そして設定が完了したら Apache を起動して 指定したパスにアクセスしてみます。 例えば 下記のようなページが見えるでしょう。

Apache Server Information

Server Settings, mod_rewrite.c, mod_alias.c, mod_userdir.c,
.... (snip) ...

mod_access.c, mod_so.c, http_core.c, prefork.c, core.c

Server Version: Apache/2.0.44 (Unix) DAV/2
Server Built: Mar 12 2003 16:56:59
API Version: 20020903:0
Hostname/port: www.inet6.org:80
Timeouts: connection: 300    keep-alive: 300
MPM Name: Prefork
Module Name: mod_rewrite.c
Content handlers: yes
Configuration Phase Participation: Create Directory Config, Merge Directory Configs,

... (snip) ...


Module Name: mod_cgi.c
Content handlers: yes
Configuration Phase Participation: Create Server Config, Merge Server Configs
Request Phase Participation: none
Module Directives:
ScriptLog - the name of a log for script debugging info

... (snip) ...


Apache/2.0.44 (Unix) DAV/2 Server at www.inet6.org Port 80
長いので、大部分を省略。というわけで、実際に手元のApacheで試してみてください。 http.conf に書いた設定がちゃんと読み込まれているか、などの状態を確認することができるので 非常に便利です。


・TOPIX