mod_auth_mysql.so はロードできたものの、問題はここからです。
適当なサイトを参考に、認証を必要とするディレクトリに .htaccess ファイルを作成して、ブラウザで開いてみました。
ちゃんとログインのウインドウが出たので、ユーザーIDとパスワードを入れましたが、500エラーになってしまいます。
mod_auth_mysql.so のロードを mod_auth_basic.so より前にしないと、500エラーになるということなので修正してみましたが、状況は変わらず(Apacheは再起動してます)。
こういうときは、ログを確認するのが基本ですね。 すると、こんなエラーが出ていました。
[Mon Sep 27 16:15:01 2010] [error] Internal error: pcfg_openfile() called with NULL filename
[Mon Sep 27 16:15:01 2010] [error] [client ::1] (9)Bad file descriptor: Could not open password file: (null)
要するに、ファイルベースで認証しようとしてエラーになっているようです。
そこで、.htaccess ファイルに以下のような記述を追加しました。
AuthBasicAuthoritative off
AuthUserFile NUL
AuthGroupFile NUL
FreeBSDなんかだと AuthUserFile /dev/null とするのですが、Windowsのヌルデバイスは NUL だということです。
これで認証は出来るようになりましたが、まだエラーが出ます。
[Mon Sep 27 18:16:17 2010] [error] [client ::1] (OS 1)ファンクションが間違っています。 : Could not open password file: D:/xampp/apache/NUL
うーむ。 ふつふつと OSを FreeBSDにしたい欲望が湧き上がってきますね。