August 12, 2009Redmineに対してオレオレ証明書httpsのsubversionを認めさせる[Computer]
複数の作業を効果的にこなすために、Redmineというプロジェクト管理ツールを導入しているのですが、このツールはソースコードを管理するためのSubversionやgitといった別のツールと連動することが可能です。この仕組みはとても便利で、例えば、Subversionでコミットする際のコメントに、Redmine側で発行したチケット(ToDoリストのようなもの)の番号を記載しておくと、Redmine側であるチケットに対してどれだけコードが変わったか、ということをうまいこと紐付けしてくれてます。 僕がこれまで作ったRedmineは、同じサーバ上でRedmineとSubversionを動かし、Redmine側からローカルディスクのSubversionを叩くという構成でした。ところが最近、新たに外部に作られたhttpsベースのSubversionリポジトリを取り込む必要がでてきたため、表題のような問題を解決する必要がでてきました。 問題が発覚するにいたったのは、RedmineでhttpsのSubversionリポジトリを登録したときのことでした。リポジトリを見ようとすると『リポジトリが見つからない』とのエラーがでます。入力したURLでブラウザからリポジトリを見ることができたので、どうやらRedmineがあやしいようでした。コードを追うこと、どうやら証明書がらみのエラーでした。 これはhttpsで公開されているSubversionをコマンドsvnで叩くと、その証明書が怪しい場合にユーザの許可を求めてくることと関連しているようでした。証明書が怪しい、というのは、証明書がVerisignのような一般的に認知されている機関から発行されているのではなく、例えば自分で自分を認証しているオレオレ証明書(apacheのインストールの際によく作るsnake oilのアレ)のようなものです。 Subversionのコマンドsvnでアクセスする際は証明書が怪しくとも、それを認めるかどうかたずねられるのは初回のみで、その認否については次回以降は .subversion/auth/svn.ssl.server/ ディレクトリに情報がキャッシュされます。Redmineから叩かれるSubversionもそのような仕様に変更してみれば、この問題は回避できそうでした。 で、本題の問題解決方法ですが、パッチ redmine.svn_https.patchを作りました。このパッチを適用した後、目的のhttpsリポジトリをsvnコマンドで一度認めた上で.subversionディレクトリをRedmineのルートディレクトリにコピー、Redmineを再起動してください。これでうまくいきました。 コメント
自分のところでも、ちょうどオレオレ証明書で同じ問題にぶつかりました。 パッチを当ててしまうとバージョンアップが大変かと思いましたので、老婆心ながらコメントしておきます。 Posted by: 通りすがり : February 10, 2011 05:00 AM>通りすがりさん コメントする
|
スポンサード リンク
|