3. モジュールの組み込み

モジュールを組み込む方法としては、静的モジュールの組み込みと動的モジュールの組み込みと二通りある。別にapache特有の考え方ではなく、C言語におけるライブラリの考えがベースにある。
静的モジュールの組み込みは、httpdコンパイル時にconfigureスクリプトで組み込むモジュールを指定することで行う。コアやmpmは静的モジュールになる。
動的モジュールの組み込みは、共有ライブラリ(拡張子が.so)をhttpd起動時に読む込むことで行う。読み込むライブラリは設定ファイルのLoadModuleディレクティブで指定する。この機能はコアではなく、mod_soモジュールによって実装される。起動時に読み込まれるので、追加削除に再コンパイルが不要というメリットがある。

なお、FreeBSDで標準インストール(無指定でportsからインストール)した場合の静的モジュールは以下のようになる。

# apachectl -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c