[MySQL] データベースを使ってApacheのBasic認証を行うには (mod_auth_mysql)

会員制サイトを簡単に運営するにはApacheのBasic認証が便利。パスワードを平文で記述した.htaccessファイルをウェブから見えないパスに置いておけばとりあえず事は足りる。しかし会員数が増えてくると.htaccessをいちいちスキャンする必要があるのに加えて、たった1個の平文のテキストファイルに認証を委ねるのはリスクあり。すなわち、パフォーマンスと安全性を考えると.htaccessには限界がある。

mod_auth_mysqlモジュールを使う

ApacheにはMySQLに登録されている会員情報を使ってBasic認証を行う仕組みが用意されている。具体的にはmod_auth_mysqlモジュールを追加して行う。今回そういうセットアップの必要があったので、覚え書きとして本家サイトと参考にさせてもらったサイトのリンクを記しておく。

mod_auth_mysql
http://modauthmysql.sourceforge.net/

Apacheの基本認証をDBを使って行うmod_auth_mysql – プログラマになりたい
http://d.hatena.ne.jp/dkfj/20101030/1288443379

mod_auth_mysqlを利用してBasic認証にMySQLのデータを利用する – blog.katsuma.tv
http://blog.katsuma.tv/2007/10/mod_auth_mysql_basic_auth.html