- ・Apache
- ircより...
本人は、もう既に 使い方を見つけたようだけど... 一応メモとして残してみる...
Apache の場合、httpd -lと実行すると、(スタティックに組み込まれている) モジュールがリストされます。これだけなら特権ポートを使いませんので、一般ユーザ 権限でも調べることができます。しかし、DSOで読み込まれるモジュールはリストされませんし、 httpd.confの内容も反映されません。例えば、私の手元にある Apache で 組み込まれているモジュールをコマンドラインから調べようとしても 下記のような情報しか 出てきません。これでは、コアなモジュールや mod_so という DSOのためのモジュール、それに MPMには prefork を使っていることしかわかりません。実際には 稼動時には DSOによって、沢山の モジュールがロードされているのですが...
ryuchi@kitty> bin/httpd -l Compiled in modules: core.c prefork.c http_core.c mod_so.c ryuchi@kitty>
一方、mod_info を使うと稼動中のApacheの状態が見れるようになります。欠点は、 Apache が動作していないと見れないということでしょうか。
さて、実際に使うには、予め スタティックにコンパイルされて組み込まれているか、 Apache の DSOが有効になっていてかつ、mod_info をロードするなっているようにします。 確かデフォルトのコンパイル条件では、組み込まれないようになっていますので、 もし、組み込まれていなければ 追加してください。
次に、httpd.confで、ハンドラをセットしておきます。多くの場合は、 <Location>で特定のパスにアクセスがあった場合に、ハンドラをセットして、 呼び出します。例えば、下記のように...そして設定が完了したら Apache を起動して 指定したパスにアクセスしてみます。 例えば 下記のようなページが見えるでしょう。サンプルでは、この設定部分がコメントアウトされていると思うので、適宜変更すれば いいでしょう。
<Location /server-info> SetHandler server-info Order deny,allow Deny from all Allow from .ryuchi.org </Location>長いので、大部分を省略。というわけで、実際に手元のApacheで試してみてください。 http.conf に書いた設定がちゃんと読み込まれているか、などの状態を確認することができるので 非常に便利です。
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- ・TOPIX