Apache2.3というか2.4に実装予定のmod_auth_formじゃありません。
こちらのほうです。
まあ、上記ページにApache2.4のほうを使ってねみたいなことが書いてありますが、2.4がなかなかでませんです。
さて、これを何に使うのか、何ができるのかと言うのは問題ではなく、そもそもmakeができません。
環境はCentOS5.4のApache 2.2.3,apr 1.2.7、mod_auth_form 2.05です。
ちなみに、Apache.2.0系だと問題なくmakeできます。まず./configureはこんな感じです。
./configure \
APACHE2_INCLUDE=/usr/include/httpd/ \
APR1_INCLUDE=/usr/include/apr-1/ \
APXS=/usr/sbin/apxs
これでmakeをすると、
/usr/include/apr-1/apr-i386.h:270: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'apr_off_t'
・・・・・・・・・・・・・
mod_auth_form.c:1105: error: 'request_rec' has no member named 'parsed_uri'
make[1]: *** [mod_auth_form.lo] エラー 1
make[1]: ディレクトリ `/root/mod_auth_form-2.05/src' から出ます
make: *** [all-recursive] エラー 1
みたいな感じでエラーが出ます。まあ、エラーの場所がかいてあるのでとりあえずそのファイルを見ます。
/usr/include/apr-1/apr-i386.h:270
typedef off64_t apr_off_t;
となってます。off64_tがtypedefされてないっぽいのでググって見るとどうやら、sys/types.hで
#if defined __USE_LARGEFILE64 && !defined __off64_t_defined
typedef __off64_t off64_t;
となっているらしい。というかなってた。
つまり、__USE_LARGEFILE64 が定義されていないのでoff64_tが__off64_t になってない。つまり、
apr-i386.hを
typedef __off64_t apr_off_t;
と書き直してmakeすれば、はい終了。
というわけで、めでたくmakeが通ったわけですが、ヘッダファイルをいじるのはなんか微妙なので元に戻してmod_auth_formのMakefileをいじることにします。
mod_auth_formを./configureした後にsrc/Makefileを開くと"DEFS = "で始まる行があります。そこの最後に
-D__USE_LARGEFILE64=1
と足してmakeしてみるとダメでした。そこでググるとどうやらfeature.h内で
#ifdef _LARGEFILE64_SOURCE
# define __USE_LARGEFILE64 1
#endif
となっているらしい。というかなってた。
そんなわけで、先ほどの"DEFS = "の行の最後に
-D_LARGEFILE64_SOURCE=1
を付け足すとめでたく通りました。