« RedmineチケットをExcelから一括登録できるアプリ「Redmineチケット★一括★」 | トップページ | Redmineでリソースヒストグラムを実現するアイデア »

2014/06/26

RedmineとVisualSVNをHTTPSで連携する方法

Windows上に作ったVisualSVNとRedmineをHTTPSで連携する方法についてメモ。
結構はまった。

【参考】
FAQ#I-cant-browse-my-svn-repository-through-redmine - Redmine

redmineでSubversionリポジトリにhttpsでアクセスする|成長の果実

RedmineでSSL自己証明書Subversionリポジトリにアクセスする方法 - TrinityT’s LABO

VisualSVN Server | Subversion Server for Windows

VisualSVN Server certificate key usage violation in Subversion clients built against GnuTLS - VisualSVN Help Center

【1】会社の都合上、SVNサーバーをLinuxではなく、WindowsServer上に作らざるをえない場合がある。
すると、VisualSVNというツールをWindowsServer上にインストールすることになる。

VisualSVNのインストールそのものは簡単だが、HTTPSで接続する設定ができる。
そして、証明書の発行は信頼できる認証局から購入するのではなく、社内WANの中だけなら、オレオレ証明書だけでとりあえず使える。

しかし、別サーバーにあるRedmineからVisualSVNサーバーに作ったSVNリポジトリにアクセスしようとすると、下記のエラーメッセージが表示されて、SVNで接続できない。

svn list --xml https://サーバー名/svn@HEAD --username ユーザ --password パスワード --trust-server-cert --no-auth-cache --non-interactive

SSL handshake failed: SSL error: Key usage violation in certificate has been detected.

【2】対処方法は下記の2つが必要。

【2-1】FAQ#I-cant-browse-my-svn-repository-through-redmine - Redmineの通り、subversion_adapter.rbにあるSVNコマンドのオプションを修正する。

cd {$redmine}/lib/redmine/scm/adapters
diff -u subversion_adapter.rb.org subversion_adapter.rb
@@ -260,7 +260,7 @@
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 << " --no-auth-cache --non-interactive --trust-server-cert"
str
end

【2-2】VisualSVNサーバー上で、下記のレジストリを登録する。

VisualSVN Server certificate key usage violation in Subversion clients built against GnuTLS - VisualSVN Help Center

for 32-bit system:
[HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN\VisualSVN Server]
"CreateGnuTLSCompatibleCertificate"=dword:00000001

for 64-bit system:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VisualSVN\VisualSVN Server]
"CreateGnuTLSCompatibleCertificate"=dword:00000001

VisualSVN Server Managerで、Action | Properties | Certificate から、証明書を再発行する。

VisualSVN Server を再起動する。

特に、【2-2】の方法を知るまで、試行錯誤した。
WindowsServerでSVNを使うのが間違っているのかな?

|

« RedmineチケットをExcelから一括登録できるアプリ「Redmineチケット★一括★」 | トップページ | Redmineでリソースヒストグラムを実現するアイデア »

Redmine」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« RedmineチケットをExcelから一括登録できるアプリ「Redmineチケット★一括★」 | トップページ | Redmineでリソースヒストグラムを実現するアイデア »