RedmineでSSL自己証明書Subversionリポジトリにアクセスする方法
ちょっとハマったのでまとめておく。
エラー内容
RedmineのリポジトリにSSL自己証明書Subversionリポジトリを指定
→404エラー
→こんなエラーメッセージがRedmineのログに
Processing RepositoriesController#show (for XXX.XXX.XXX.XXX at 2011-06-28 19:00:23) [GET] Parameters: {"action"=>"show", "id"=>"h-search", "controller"=>"repositories"} Error parsing svn output: undefined method `name' for nil:NilClass Output was:
対応策
- 自己証明書無視オプションをSubversionアダプタに付加
- 自己証明書無視オプションを有効にするため、subversionクライアントバージョンを1.6以上にする ※重要!当初1.4を使用していたためハマった。
具体例 (Cent5)
1. 自己証明書無視オプションを「lib/redmine/scm/adapters/subversion_adapter.rb 」に付加
●変更前 ... def credentials_string str = '' str << " --username #{shell_quote(@login)}" unless @login.blank? str << " --password #{shell_quote(@password)}" unless @login.blank? || @password.blank? str << " --no-auth-cache --non-interactive" str end ... ●変更後 ... def credentials_string str = '' str << " --username #{shell_quote(@login)}" unless @login.blank? str << " --password #{shell_quote(@password)}" unless @login.blank? || @password.blank? str << " --no-auth-cache --non-interactive --trust-server-cert" str end ...
2. Subversionクライアントバージョンを1.6にする。
# yum install subversion # svn --version svn, バージョン 1.6.11 (r934486) ....