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