環境: CentOS 5.5 x86
あと、前回の記事の
LinuxでRedmineを簡単に構築する
http://ameblo.jp/welx/entry-11013620677.html
で準備した環境にて説明していく。
---------- 以下、記事 ----------
redmineにはSubversionのリポジトリにアクセスできる機能がある。
各プロジェクトの [設定] - [リポジトリ] から設定が可能。

指定できるURLの種類には、file:///, http://, https://, svn://, etc...
とあり様々なものが指定可能だが、通信内容は暗号化しておきたいから http:// はあまり使いたくないだろうし、file:/// に関してはリポジトリがredmineと同一サーバにないと使えないので、よく使うものはおそらく https:// ではないかと思う。
https:// でも問題なく使えるが、一つ問題がある。
自己発行したSSL証明書を使用している場合、エラーでリポジトリにアクセスできない。
つまり、ベリサイン等で発行して貰った証明書ではなく、いわゆるオレオレ証明書で https:// を使っている場合はダメってこと。
自己発行の証明書を使用した https:// でリポジトリにアクセスするとこんなエラーが表示される。

ログファイルには以下のような証明書エラーのメッセージが出力されてる・・・
svn: OPTIONS of 'https://xxx.xx.xxx/svn/project01': Server certificate verification failed: issuer is not trusted (https://xxx.xx.xxx)
うーん、自己発行証明書でも使えるようにしててよー・・・と思いながら解決策を色々調べたところ、下記のサイトを発見!
RedmineでSSL自己証明書Subversionリポジトリにアクセスする方法 - TrinityT’s LABO
http://d.hatena.ne.jp/TrinityT/20110628/1309256491
そして上記サイトの通りにやったら解決!!
本当にありがたいです。
つまり二番煎じだけど、今後また同じエラーにぶつかると思うので自分のための備忘録にここに残しておこうかなと・・・
ほんとうに上記サイトの通りだけど、いちおうやり方を書いておこう(メモ的な意味で)。
# cd /opt/redmine-1.2.1-1/apps/redmine/lib/redmine/scm/adapters
# pwd
/opt/redmine-1.2.1-1/apps/redmine/lib/redmine/scm/adapters
# vi subversion_adapter.rb
259~263行目
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
# /opt/redmine-1.2.1-1/ctlscript.sh restart ← redmineを再起動する
以上、これだけ。
バージョンアップの度にやるのが面倒とか思うかもしれないけど、たったこれだけなら別段問題ないと思う。
他のサイトに見受けられる方法のほうが面倒のような気もするし・・・
ということで、redmineから https:// でリポジトリにアクセスできるか確認。
設定して・・・

↓
確認!

httpsだからかレスポンスが遅い気もするけど、仕方がない。
これでバッチリということで。