- 締切済み
MYSQLと連動したBASIC認証について
winXPにおいて、XAMPP(apache&MYSQL)を使ってローカルでの簡単なサーバ構築を行っています。 やりたいことは、MYSQLと連動したBASIC認証なのですが、 色々調べた結果、どうも環境がうまく構築できずに困っています。 どうかご協力ください!! 詳しく?説明させてもらうと・・・ http://www.gknw.net/development/apache/ より、mod_authn_mysql.soをDL。 apacheのmodulesフォルダにコピー。 httpd.confに、 LoadModule authn_mysql_module modules/mod_authn_mysql.so を追加。 制限をかけたいフォルダに.htaccessを置き、 AuthMySQLHost 127.0.0.1 AuthMySQLDB データベース名 AuthMySQLUser ユーザ名 AuthMySQLPassword パスワード AuthMySQLUserTable テーブル名 AuthMySQLNameField カラム名 AuthMySQLPasswordField カラム名 AuthMySQLCryptedPasswords Off AuthType Basic AuthName "BASIC TEST" Require valid-user と記述。 以上で該当のページを開こうとするとBASIC認証のダイアログが出るはずなのですが、実際には500のエラーが出てしまいます。 エラーログのメッセージには、 Invalid command 'AuthMySQLHost', perhaps misspelled or defined by a module not included in the server configuration と表示されています。 「書き方が違うよ」とのことらしいのですが、サイトからコピペしたので間違いはないと思います。 それ以前に、httpd.confにもともとある、 #LoadModule mysql_auth_module modules/mod_auth_mysql.so のコメントを外すと、apacheが起動しなくなります。 これらは一体どういうことなのでしょう?? 初心者で原因が分からず困っています!! どなたかご教授下されば助かります!!
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
あ・・・ LoadModule authn_mysql_module modules/mod_authn_mysql.so でロードしているんですね。 phpinfo()でみて、Loaded Modules にmod_auth_mysqlがあれば インストールされていると思います。勘違い失礼しました・・・。 それとWinXPというのは見落としてました。 私はLinuxとFreeBSDでやったことがあるのですがWinではやったことなくて 調べられるようであればちょっとみてみます・・・
- yambejp
- ベストアンサー率51% (3827/7415)
とりあえずmod_auth_mysqlを3.0.0か3.2にしてみてはどうでしょ? >#LoadModule mysql_auth_module modules/mod_auth_mysql.so >のコメントを外すと、apacheが起動しなくなります。 よくよくみたらmoduleがロードされていないので機能してないですね コメントを外すと起動しないのはインストールに失敗しているのでしょう
補足
何度もすみません。。。 http://sourceforge.net/project/showfiles.php?group_id=60218 ここから3.0をDLしたのですが・・・ どうやらLinux用なのです。 ”.c”となっていたのでコンパイルをしないといけないと思うのですが、Windowsではコンパイル可能なのでしょうか?? また、 >よくよくみたらmoduleがロードされていないので機能してないですね >コメントを外すと起動しないのはインストールに失敗しているのでしょう こちらはどういったことでしょう?? ほんとすみません。。。
- yambejp
- ベストアンサー率51% (3827/7415)
>mod_auth_mysqlのバージョンは2.2.3です。 古いバージョンですね・・・ >AuthMySQLHost 127.0.0.1 ・・・ >AuthMySQLUser ユーザ名 >AuthMySQLPassword パスワード の箇所をまとめてまだ Auth_MySQL_Info localhost ユーザー名 パスワード みたいな書き方をしているバージョンじゃないですか?
補足
>古いバージョンですね・・・ そうなんですね。。。 >Auth_MySQL_Info localhost ユーザー名 パスワード >みたいな書き方をしているバージョンじゃないですか? そうなんですかね??(^^; すいません、パッと見では判断できませんでした。。。 ただ、サイトを見てそういった書き方もあったので、以前に試してみたのですが、 同じように、”Invalid command~”と怒られました。。。
- yambejp
- ベストアンサー率51% (3827/7415)
mod_auth_mysqlはapacheのバージョンや、モジュール自体のバージョンによって 動きがまったく違うようです。 指定できるパラメータが異なり、不要なパラメータを指定するとすぐに エラーになったりすので、こまかいバージョンを含めた提示が必要です。
補足
回答ありがとうございます! 失礼しました。 Apacheのバージョンは2.2.9で、 mod_auth_mysqlのバージョンは2.2.3です。 よろしくお願いします!
補足
いえいえ、お付き合い頂きありがとうございます! おっしゃる通り、インストールはされていました。 mod_auth”n”_mysqlのほうですが。。。 >調べられるようであればちょっとみてみます・・・ ほんとありがとうございます!! <参考までに・・・> もうひとつ、解せないのが、 LoadModule authn_mysql_module modules/mod_auth”n”_mysql.so ではapacheは起動するのに、こちらをコメントアウトして、 LoadModule authn_mysql_module modules/mod_auth_mysql.so のコメントを外すと起動しないということです。 (モジュール自体は両方用意してあります) 同種のモジュールだとは思うのですが、 動きが違うのでしょうか。。。