Redmineのアカウントを使って、Subversionの認証を行う on debian lenny
むちゃくちゃつまづきどころが多かったのでメモ。
mod_auth_mysqlのインストール
普通にコマンド入力してインストールします
www@admin:~$ sudo apt-get install libapache2-mod-auth-mysql
問題が、mod_auth_mysql.so が mod_auth_basic.so より先に読み込めないと、以下のエラーが出ちゃいます。
pcfg_openfile() called with NULL filename
ということで名前を変えて先に起動するようにセット
www@admin:~$ sudo cp /etc/apache2/mods-available/auth_mysql.load /etc/apache2/mods-available/auth_00mysql.load
各種モジュール有効化
www@admin:~$ sudo a2enmod auth_00mysql auth_basic auth_digest
で、設定したいsvnのconfに以下のように記述
<Location "/svn"> DAV svn SVNParentPath /var/www/svn <LimitExcept GET PROPFIND OPTIONS REPORT> Auth_MySQL On Auth_MySQL_Socket /var/run/mysqld/mysqld.sock Auth_MySQL_Host localhost Auth_MySQL_User [redmineのデータベースユーザ名] Auth_MySQL_Password [redmineのデータベースパスワード] Auth_MySQL_DB [redmineのデータベース名] Auth_MySQL_Password_Table users Auth_MySQL_Username_Field login Auth_MySQL_Password_Field hashed_password Auth_MySQL_Encryption_Types SHA1Sum Auth_MySQL_Empty_Passwords Off AuthType Basic AuthName "Authorization Realm" Require valid-user </LimitExcept> </Location>
AuthMySQLのパラメータ名が違うのと、Encryption_TypesがSHA1Sumなのがコツ。 なんでsha1じゃねーんだ。。ヽ(`Д´)ノウワーン
パラメータ違うと、
Invalid command 'AuthMySQLEnable', perhaps misspelled or defined by a module not included in the server configuration
って出るし、SHA1Sumじゃないと
Unsupported encryption type: sha1
って出る。分かるかい!ヽ(`Д´)ノウワーン
ということで、
www@admin:~$ sudo /etc/init.d/apache2 reload
して無事にsvnが動くのでした。。疲れた。。
参考サイト: Subversion+Apache からredmineの認証を使う うにっくすさんの覚え書き - Apache2 - MySQL認証