「Apacheに組み込まれているモジュール一覧が知りたい」Tipsでは,組み込まれるモジュールについて触れた。さらにそれぞれのモジュールの役割りを知ることで,Apacheのチューニングをすることができる。ここでは,スリムなApacheにする方法の1つとして使用しない機能(モジュール)を省く方法を解説していこう。
次の表に,代表的なモジュールを挙げてみた。Red Hat Linux,Turbolinuxなどのディストリビューションでは,ほかにも多くのモジュールが組み込まれていることと思うが,ここではソースからのコンパイルで組み込まれるものを中心に挙げてる。
表■代表的なモジュール一覧
|
モジュール名
|
内 容
|
Core |
Apacheの基本となる機能を実現する。例えば,DocumentRoot指定やAddModuleなどの動作そのものに関わる機能 |
mod_access |
クライアントのドメイン名やIPアドレスを判別し,アクセス制御を実現する |
mod_alias |
Alias /image /pub/imageなどと指定し,ディレクトリのエイリアスを実現する |
mod_asis |
ファイルの種類が定義されるのを容認し,HTTPヘッダを付加しないで送信する |
mod_auth |
テキスト形式のファイルを利用してユーザー認証を実現する |
mod_auth_anon |
FTP(anonymous)ログインができるようユーザー認証をサポートする |
mod_auth_db |
バークレイのDBフォーマットを容認し,ユーザー認証を実現する |
mod_auth_dbm |
DBM形式のフォーマットを容認し,ユーザー認証を実現する |
mod_auth_msql |
mSQLのデータベースフォーマットを容認し,ユーザー認証を実現する |
mod_autoindex |
DirectoryIndexで定義されたindex.htmlなどが存在しない場合,ディレクトリのリスト表示を行う |
mod_dir |
mod_autoindexと共に動作し,表示されたディレクトリにアイコン表示機能などを付加させる |
mod_cern_meta |
HTTPでやり取りされるヘッダに,サイト全体で使用する物を追加できるようにする |
mod_cgi |
CGIスクリプトの実行ができるようにする |
mod_cookies |
クッキーのサポート。Apache1.2以降では,mod_usertrackに切り替えられている |
mod_usertrack |
mod_cookiesからリプレースされたユーザー追跡モジュール |
mod_digest |
アルゴリズムに128ビットのキーサイズを持つMD5を利用し,そのユーザー認証をサポート |
mod_dld |
GNUのDLDライブラリ(libdld)を使用して実行時にリンクする。始動時間や実行可能なコードを指定できる。1.3.xでmod_soに置き換えられている
|
mod_env |
CGIとSSIに,指定したシェルから環境変数を渡すことを許可する |
mod_imap |
イメージマップのハンドラ。.mapファイルにimagemap CGIプログラムの機能置き換えを実現する |
mod_include |
SSIの実行を許可する |
mod_info |
サーバの設定情報表示。/server-infoとしてHTTPにアクセスした際,参照ができるようになる |
mod_log_agent |
ユーザーエージェント(UserAgentヘッダ)のログ記録を行う |
mod_log_config |
ユーザー定義されたログの記録を行う |
mod_log_referer |
ドキュメントリファレンスのログ記録。ユーザーが訪れた直前のURLを記録する |
mod_mime |
拡張子で判別するドキュメントタイプ決定 |
mod_mime_magic |
「magic numbers」利用したドキュメントタイプの決定 |
mod_negotiation |
コンテンツ内容のネゴシエーション |
mod_proxy |
proxy(キャッシュ)のサポート |
mod_rewrite |
URI-to-filenameマッピング |
mod_status |
サーバステータスの表示。/server-statusとしてHTTPにアクセスした際,参照ができるようになる |
mod_userdir |
ユーザーのホームディレクトリ使用を可能にする |
mod_gzip |
zip圧縮して送り出す。ホストのマシンパワーがある場合,トラフィック軽減が期待できる |
|
この中で,明らかに使用しないと思われる機能は,モジュールで組み込む必要がないだろう。次のように設定ファイルを編集すれば組み込まれなくなる。
Red HatのRPMパッケージであれば,
# vi /etc/httpd/conf/httpd.conf
ソースからのコンパイルであれば,
# vi /usr/local/apache/conf/httpd.conf
を編集する。
注意しなければならないのは,「Apacheに組み込まれているモジュール一覧が知りたい」Tipsで紹介したように「LoadModule」と「AddModule」が組になっていることだ。例えばmod_autoindexを組み込まないようにしたい場合には,次の2行をコメントアウトすればよい。
〜中略〜
.............
#LoadModule autoindex_module /usr/libexec/apache/mod_autoindex.so
.............
〜中略〜
#AddModule mod_autoindex.c
|
もちろん編集後には,次のようにhttpdを再起動することを忘れずに。
Red HatのRPMパッケージであれば,
# /etc/rc.d/init.d/httpd restart
ソースからのコンパイルであれば,
# /usr/local/apache/bin/apachectl restart
Copyright © ITmedia, Inc. All Rights Reserved.