apache with MySQL

[ Nob's Home | Linux ]

apacheの認証を MySQLでやってみます。
apacheのsourceは src/apache_1.3.27 に展開してあり、以下のように、
動的にモジュールを組み込めるようにinstallしてあります。
$ ./configure --enable-module=so --prefix=/usr/local/apache
$ make
$ su
# make install
MySQLは /usr/local/mysql 以下にinstallしてあります。

Information

What you need

Insatall

$ tar mod_auth_mysql-3.2.tar.gz -C src
$ cd src/mod_auth_mysql-3.2

$ vi Makefile

APXS      = /usr/local/apache/bin/apxs
と
OPTS  = -I/usr/local/mysql/include/mysql -L/usr/local/mysql/lib/mysql -lmysqlclient
を修正します。

$ make
$ su
# make install
# exit

Configuration

/usr/local/apache/conf/httpd.conf の Dynamic Shared Object (DSO) Support に
#LoadModule auth_mysql_module  libexec/mod_auth_mysql.so
が追加されているので、#を削除し有効にします。
さらに以下のような行を追加し、
認証に使用するMySQLサーバーとMySQLサーバーにアクセスするuser/passwordを設定します。
Auth_MySQL_Info localhost root ******
/usr/local/apache/cgi-bin/ へのアクセスを認証するには、
/usr/local/apache/conf/httpd.confの
    <Directory "/usr/local/apache/cgi-bin">
        AllowOverride None ← ここを All に
        Options None
        Order allow,deny
        Allow from all
     </Directory>
設定し、apachectl restartします。
さらに、/usr/local/apache/cgi-bin/.htaccess を作成します。
今回はvpopmailのdatabaseを認証に使用しました。
設定の詳細はmod_auth_mysqlのUSAGEを参照してください。
# vi /usr/local/apache/cgi-bin/.htaccess

AuthName "Your Login is Required for CGI"
AuthType Basic
Auth_MySQL_DB vpopmail
Auth_MySQL_Password_Table vpopmail
Auth_MySQL_Username_Field pw_name
Auth_MySQL_Password_Field pw_passwd
require valid-user


[ Nob's Home | Linux ]
nob@makioka.y-min.or.jp