モジュールのインストール
# apt-get install libapache2-mod-auth-mysql
# cd /etc/apache2/mods-eabled
# ln -s ../mods-available/auth_mysql.load auth_b0_mysql.load
(Internal Error対策の為 b0を付けて auth_basic.load の前に auth_mysql.load をロードさせる)
# vi .htaccess
AuthType Basic #AuthBasicAuthoritative off AuthName "Nossing User" AuthMySQL on AuthMySQL_Host localhost AuthMySQL_User TESTUSER AuthMySQL_Password TESTPASSWD AuthMySQL_DB TESTDB AuthMySQL_Password_Table users_info AuthMySQL_UserName_Field userid AuthMySQL_Password_Field password AuthMySQL_Empty_Passwords off AuthMySQL_Encrypted_Passwords on AuthMySQL_Encryption_Types Plaintext Crypt_DES AuthMySQL_Scrambled_Passwords off AuthMySQL_Authoritative on require valid-user
#
# mysql -u root -prootpw
mysql> create database TESTDB;
mysql> create user TESTUSER;
mysql> grant all privileges on TESTUSER.* to TESTDB@localhost identified by ‘TESTPASSWORD’;
mysql> create table users_info ( userid varchar(16) not null,password varchar(64) not null );
mysql> insert into users_info values (‘test1′,’test1’) ;
mysql> insert into users_info values (‘test2’,md5(‘test2’)) ;
mysql> insert into users_info values (‘test3’,encrypt(‘test3’)) ;
mysql> insert into users_info values (‘test4’,password(‘test4’)) ;
Plaintext認証 と Crypt_DES認証は正常に動作するが Crypt_MD5 と MySQL 認証は正常に動作しなかった。
Error.log
[Thu Nov 13 17:58:08 2008] [error] Internal error: pcfg_openfile() called with NULL filename
[Thu Nov 13 17:58:08 2008] [error] [client xxx.xxx.xxx.xxx] (9)Bad file descriptor: Could not open password file: (null)