mod_info
サーバの設定の包括的な概観を提供する
Extension
mod_info.c
info_module
mod_info を設定するには、以下を httpd.conf
ファイルに加えます。
<Location /server-info>
SetHandler server-info
</Location>
Location
の中で mod_access を使って、サーバ設定情報への
アクセスを制限したいと思うかもしれません :
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from yourcompany.com
</Location>
一旦設定すると、http://your.host.example.com/server-info
にアクセスすることでサーバの情報を得られるようになります。
Security Issues
一旦 mod_info がサーバに読み込まれると、
提供しているハンドラ機能はディレクトリ毎の設定ファイル (例えば
.htaccess) を含む すべての設定ファイルで有効になります。
このモジュールを有効にするときはセキュリティの問題を考慮する必要が
あるでしょう。
特に、このモジュールはシステムパス、ユーザ名/パスワード、
データベース名など、他の Apache モジュールの設定ディレクティブから
セキュリティ上微妙な情報を漏らす可能性があります。
ですから、このモジュールはきちんとアクセス制御された環境でのみ、
注意して使ってください。
設定情報へのアクセスを制限するために、mod_authz_host を
使うのが良いでしょう。
アクセス制御
<Location /server-info>
SetHandler server-info
Order allow,deny
# Allow access from server itself
Allow from 127.0.0.1
# Additionally, allow access from local workstation
Allow from 192.168.1.17
</Location>
表示される情報の選択
デフォルトでは、サーバ情報はすべての有効なモジュールと、
各モジュールについて、モジュールが理解するディレクティブ、
実装している、フック、現時点での設定の関連するディレクティブに
なっています。
server-info
リクエストへクエリーを追加することで、
設定情報の他の表示形式を選ぶことができます。例えば、
http://your.host.example.com/server-info?config
は
すべての設定ディレクティブを表示します。
?<module-name>
- 指定されたモジュールに関連する情報のみ
?config
- モジュールでソートせずに、設定ディレクティブのみ
?hooks
- 各モジュールが使用するフックのみ
?list
- 有効なモジュールの簡単なリストのみ
?server
- 基本サーバ情報のみ
既知の制限
mod_info は、元の設定ファイルを読むのではなく、
既にパースされた設定を読み込むことで情報を提供します。従って、
パース済みの設定情報の木が生成される方法による制限がいくつかあります:
- パースされた設定に保存されずに、すぐに実行されるディレクティブは
一覧に現れません。これには
ServerRoot,
LoadModule,
LoadFile があります。
- Include,
<IfModule>,
<IfDefine>,
のような設定ファイル自身を制御するディレクティブは表示されません。
そのディレクティブの中にあり、有効になっているディレクティブは
表示されます。
- コメントは表示されません。(これは仕様だと思ってください。)
.htaccess
ファイルの設定ディレクティブは表示されません
(永久的なサーバ設定の一部ではないからです)。
- <Directory>
のようなコンテナディレクティブは普通に表示されますが、
mod_info は閉じタグの </Directory> などの数を知ることはできません。
- mod_perl のようなサードパーティモジュール
のディレクティブは表示されないかもしれません。
AddModuleInfo
server-info ハンドラにより表示されるモジュールの情報に
追加の情報を付け加える
AddModuleInfo module-name string
server configvirtual host
Apache 1.3 以降
これは、string の内容がモジュール module-name
の追加情報 として HTML
として解釈され、表示されるようにします。例:
AddModuleInfo mod_deflate.c 'See <a \
href="http://www.apache.org/docs/&httpd.docs;/mod/mod_deflate.html">\
http://www.apache.org/docs/&httpd.docs;/mod/mod_deflate.html</a>'