configureスクリプトオプションでモジュール組み込みを指定 |
モジュールを組み込む場合には、Configurationファイルに対して、AddModuleやShareModuleで指定する方法を推奨する。しかし少量のモジュールを有効化(バイナリ「httpd」に組み込ませたい)したいのであれば、configureコマンドの引数(オプション)として指定するほうが容易だ。
configureコマンドの引数としてモジュールを組み込むには、--enable-moduleオプションや--enablesharedオプションを使い、次のように指定する。
■AddModuleとしてモジュールを組み込む$ ./configure --enable-module=モジュール名 |
■Configureファイルに記載されているAddMuduleを無効にしてモジュールを組み込まない
$ ./configure --disable-module=モジュール名 |
■ShareModuleとしてモジュールをDSOとして組み込めるようコンパイルする
$ ./configure --enable-shared=モジュール名 |
■Configurationファイルに記載されているShareModuleを無効にし、モジュールをDSOとして組み込めるようコンパイルしない
$ ./configure --disable-shared=モジュール名 |
上記のいずれの場合にも、モジュール名には、「mod_」やモジュールの拡張子(「.o」や「.a」)を付加させない名称を指定する。
たとえば、mod_log_agentモジュールを組み込みたいのであれば、次のように指定すればよい。
$ ./configure --enable-module=log_agent |
--enable-moduleオプションや--enable-shareオプションには、次のような特別な値を指定することもできる。
・--enable-module=all
mod_auth_digest以外のすべてのモジュールを組み込む。
・--enable-module=most
mod_auth_db、mod_log_agent、mod_log_referer、mod_log_example、mod_so、mod_mmap_static、mod_auth以外のすべてのモジュールを組み込む。
・--enable-shared=max
有効になっているモジュール(Configurationファイル中にAddModuleで記述されているモジュール)すべてを、Apacheに組み込むのではなく、DSOを使ってあとから組み込めるようにコンパイルする。
・--enable-shared=remain
無効になっているモジュールすべてを有効化し、DSOを使ってあとから組み込めるようにコンパイルする。
たとえば、次のようにすると、すべてのモジュールを、あとからDSOを使って組み込めるようにコンパイルすることができる。
$ ./configure --enable-module=all --enable-share=max --enable-rule=SHARED_CORE |
|
このように、すべてのモジュールをDSOとしてコンパイルしておくと、あとでモジュールの付け替えができるようになる。またすべてのモジュールをDSOとしてビルドするのではなく、Apacheに付属しているデフォルト状態のモジュールの組み込みを維持し、それ以外のモジュールをあとからDSOとして組み込めるようにするという選択肢もある。その場合には、次のようにする。
$ ./configure --enable-module=so --enable-rule=SHARED_CORE --enable-shared=remain |
上記の設定の場合、Table 1に示したうち、「○」が付いているモジュールはApache自身に組み込まれ、それ以外のモジュールは、DSOを使ってあとから組み込むことができる、という設定になる。
10/14 |