Windows で Apache モジュールを作る。
最終更新:2009/03/14
●apxs の導入
(1)スクリプトの入手
(2)インストール
README に従って…。
c:\apache に apache2 をインストールしている場合の例:
perl Configure.pl --with-apache2=c:\apache --with-apache-prog=httpd.exe
これで c:\apache\bin に apxs.bat と apxs.pl ができる。
c:\apache\binをパスに入れといて、apxs を実行すると
Usage: apxs -g [-S <var>=<val>] -n <modname>
apxs -q [-v] [-S <var>=<val>] <query> ...
apxs -c [-S <var>=<val>] [-o <dsofile>] [-D <name>[=<value>]]
[-I <incdir>] [-L <libdir>] [-l <libname>] [-Wc,<flags>]
[-Wl,<flags>] [-p] <files> ...
apxs -i [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> ...
apxs -e [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> ...
と表示される。
●モジュール作成の流れ
以下、モジュール名は "ktest" とする。
(1)テンプレートの作成
コマンドラインで以下を実行
ktest ディレクトリが作られてその下に mod_ktest.c が作られる。
(2)コードの作成
(3)ビルド
ktest ディレクトリの下で以下を実行。
apxs -c -l libhttpd.lib mod_ktest.c
これで mod_ktest.so が作られる。コンパイル時に参照するライブラリを追加する場合は、-L libdir -l libname をオプションに追加する。
(5)インストール
ktest ディレクトリの下で、以下を実行。
apxs -i -a -n ktest mod_ktest.so
mod_ktest.so は c:\apache\modules へ、
mod_ktest.lib は c:\apache\lib へ、そして、
c:\apache\conf\httpd.conf に mod_ktest 組み込みの行が追加される。
httpd.conf に追加された行はパスとか格好悪いので手で修正。というか、apxs を使わずに手で apache に組み込んだほうがいいかもしれない。
★以下、apxs を使わない場合
(1)makefile の準備
mod_XXXXXXXXXXXXXX.mak を ktest\mod_ktest.mak にコピーし、編集。"XXXXXXXXXXXXXX" の部分を "ktest" で置換。mod_XXXXXXXXXXXXXX.mak は Apache 付属の mod_echo.mak から勘で作成したもので要注意。
(2)コンパイル
ktest ディレクトリの下で、を実行。
Release の下に mod_ktest.so ができる。
Windows でパラメータ設定のある Apache モジュールを作る。
 |
KAKU PROJECT (2009) |