Apacheは必要な機能をモジュールと言う単位で読み込み使用します。
今回はモジュールの読み込みついて説明します。
イメージ
Apacheは必要な機能をモジュールとして読み込んでいます。
読み込んでいるモジュールは設定ファイルに記載されています。
イメージは以下の通りです。
モジュールの読み込みについて
Apacheが読み込むモジュールは設定ファイルに記載されています。
ディレクティブ
Apacheは LoadModuleディレクティブ を使用してモジュールを読み込みます。
・書式
LoadModule 読み込み名称 モジュールパス
モジュールパスは ServerRoot からの相対パスになるようです。
以下は、ServerRoot の例です。
ServerRoot "/etc/httpd"
以下はmod_rewriteモジュールを読み込んでいる例になります。
LoadModule rewrite_module modules/mod_rewrite.so
mod_rewrite.so は /etc/httpd/modules/ 以下に存在する事が分かります。
モジュールの場所
環境にもよりますがモジュールは特定のディレクトリに集められています。
自分の環境では先ほど例の mod_rewrite.so の通り /etc/httpd/modules 以下にモジュールが存在しました。
・コマンド
ls -al /etc/httpd/modules/
・結果一部抜粋
・・・・・
-rwxr-xr-x 1 root root 15280 Dec 30 21:40 mod_request.so
-rwxr-xr-x 1 root root 68976 Dec 30 21:40 mod_rewrite.so
-rwxr-xr-x 1 root root 36120 Dec 30 21:40 mod_sed.so
・・・・・
コマンドによる確認
以下のコマンドでもApacheがどのモジュールを読み込んでいるか確認できます。読み込んでいるモジュールの「読み込み名称」が表示されます。
以下はmod_rewriteモジュールが読み込まれていることが確認できます。
・コマンド
httpd -M
・結果(一部抜粋)
request_module (shared)
rewrite_module (shared)
setenvif_module (shared)
slotmem_plain_module (shared)
slotmem_shm_module (shared)
最後に
Apacheのモジュールの読み込みは設定ファイルにまとめて記載されています。環境にもよりますが、自分の環境では、モジュール読み込み用の設定ファイルが /etc/httpd/conf.modules.d 以下に存在しました。
次回はモジュールの読み込みを行なっている設定ファイルについて説明します。