環境、CentOS6.2、Apache2.2.15、Redmine1.3、Subversion1.6.11、Mysql5.5.20
Redmine1.3を使用しRedmineのユーザーをWebBasic認証(mod_auth_mysql)とリンクさせて使用する際にエラーとなったので覚書しとく
基本的に上位アプリは正しくセットアップされて単独で動く状態からの処理となる
原因はRedmine1.2よりパスワード保持方法が変更となった、この変更にmod_auth_mysqlがついていけないことが原因。(SHA1+saltとなった)
1.mod_auth_mysqlのソースをここからDownload
2.Mysql5.0系用のpacheをDownし「1」のソースファイル当てる
3.Redmineで使用している認証方法をここからDownし「2」のソースファイル当てる
これでソースのある下位層まで「cd」してコンパイル開始Go!
/usr/sbin/apxs -ci -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lz -lm mod_auth_mysql.c
・・・
「make_scrambled_password error」となりコンパイルが通らない・・・
どうやら「make_scrambled_password」用のシンボリックリンクが見つからないらしい、Mysqlのソースを追加すれば行けそうだけど、そもそも「make_scrambled_password」を使用する気はないので、コメントアウトとする。
make_scrambled_password関連個所のソースをコメントにし、再度コンパイル・・・
無事に「mod_auth_mysql.so」完成!
使ってみる・・・OKそう
AuthMySQLEnable On
AuthMySQLSocket /var/lib/mysql/mysql.sock
AuthMySQLHost [DB Host名]
AuthMySQLUser [DB接続User名]
AuthMySQLPassword [DB接続PW]
AuthMySQLDB [接続DB名]
AuthMySQLUserTable [確認Table名]
AuthMySQLNameField [確認IDフィールド名]
AuthMySQLPasswordField [確認PWフィールド名]
AuthMySQLSaltField salt
AuthMySQLPwEncryption sha1-rm
AuthMySQLNoPasswd Off
#AuthMySQLCharacterSet UTF-8
#AuthGroupFile /dev/null
AuthType Basic
AuthName "Authorization SVN"
Require valid-user
編集ソースとコンパイル後のファイルを置いておきますが、何が起こっても自己責任でお願いしますね。