Apacheに組み込まれているモジュールの一覧を取得する(httpd -l,httpd -M)

Apache にはサーバのインストールの時点で組み込まれている静的なモジュールと、 設定ファイルである httpd.conf ファイルの中で LoadModule ディレクティブを使ってあとから動的に読み込んでいるモジュールがあります。ここでは静的および動的に Apache に組み込まれているモジュールの一覧を取得する方法について解説します。

(Last modified: )

静的なモジュールの一覧を取得する

Apache のインストール時に組み込まれているモジュールを静的なモジュールと呼びます。静的なモジュールの一覧を取得するには次のように行います。

httpd -l

-l オプションを付けて httpd を実行してください。なお、 -l オプションをつけた場合はモジュールの一覧の出力だけを行って Apache は起動しません。

それでは実際に試してみます。私の環境では次の 5 つのモジュールが表示されました。

core.c
mod_win32.c
mpm_winnt.c
http_core.c
mod_so.c

静的なモジュールの一覧を取得する(1)

動的なモジュールの一覧を取得する

Apache の設定ファイルである http.cofn ファイルの中で LoadModule ディレクティブを使って組み込まれるモジュールを動的なモジュールと呼びます。動的なモジュールの一覧(静的なモジュールも含む)を取得するには次のどちらかを実行します。

httpd -M
httpd -t -D DUMP_MODULES

-M オプションを付けて httpd を実行してください。なお、 -M オプションをつけた場合はモジュールの一覧の出力だけを行って Apache は起動しません。( -M オプションは -t -D DUMP_MODULES オプションの別名です)。

それでは実際に試してみます。私の環境では次のモジュールが表示されました。

core_module (static)
win32_module (static)
mpm_winnt_module (static)
http_module (static)
so_module (static)
actions_module (shared)
alias_module (shared)
allowmethods_module (shared)
asis_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
dir_module (shared)
env_module (shared)
include_module (shared)
isapi_module (shared)
log_config_module (shared)
mime_module (shared)
negotiation_module (shared)
setenvif_module (shared)

動的なモジュールの一覧を取得する(1)

モジュール名の横に static と表示されているものが静的なモジュールです。モジュール名の横に shared と表示されているものが動的なモジュールです。

動的なモジュールは httpd.conf ファイルの中で次のように読み込まれています。(先頭が # の行はコメントなので読み込まれていません)。

#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
#LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule auth_form_module modules/mod_auth_form.so

(以下略)

-- --

静的および動的に Apache に組み込まれているモジュールの一覧を取得する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。