redmineインストール・Windows Server + IIS編・Subversion対応の章

redmineインストール・Windows Server + IIS編 - 総天然色頁の補足です。
次のような要件だと仮定します。

概要

Windows用のsvnサーバーを立てる

svnserveよりhttp/httpsを使えた方が便利なので探してみたのですが、結論から言うと、IIS上で動作するsvnサーバーは存在しない模様*1

そこで、VisualSVN Serverをインストールします。
無償&2008対応&設定が簡単、というのが理由。

  1. 公式サイトからバイナリをダウンロード
  2. バイナリを実行してインストール
    1. nextを押下
    2. End-User LicenseをAgreeしてnextを押下
    3. Custom Setupで以下のような設定に変更
      1. Use Secure Connection(https://)をoffに
      2. Server Portを80以外に設定(以下、8080として進めます)
      3. Use Windows authenticationを選択 ← Active Directory管理になります
      4. nextを押下
    4. installを押下
  3. VisualSVN Server Managerを実行して設定を変更
    1. ネットワークの設定
      1. 左ペインのVisualSVN Serverを選択し、Properties...を実行
      2. Networkタブを選択
      3. Server Nameを192.168.0.1に変更
      4. Server Binding の These IP addressesを選択
      5. Add...を押下して、192.168.0.1とsvnサーバー用のIP(以下、192.168.0.3として進めます。)を追加
    2. デフォルトの権限設定
      1. 左ペインのRepositoriesを選択し、Properties...を実行
      2. 開発者用のグループを追加しPermissionsを設定しておく

svn.example.comの追加

NICにIP追加

要件のとおり、192.168.0.3のポートを増やす必要があるので、その設定。
物理的にNICを追加してLANポートを増やしても良いんですが、ここでは、1つのNICにIPを複数する方法で。

  1. 対象のNICのプロパティを開く
  2. TCP/IPv4のプロパティを開く
  3. もしもDHCPを使用する設定になっていたら、IP固定の設定に変更
  4. IP設定タブのIP設定で[追加]ボタンを押下.
  5. この場合は192.168.0.3でIPを追加。
DNSの設定変更

Windows ServerのDNSにAレコードを追加し、svn.example.com を 192.168.0.3 で割り当てる。

IISsvnのproxy設定を追加する
  1. URL Rewrite設定
    1. 詳しくは、前回URL Rewrite 2.0 betaでDestinationヘッダーの書き換え - 総天然色頁を参照してください。
  2. IISサイトの追加
    1. 192.168.0.3で検討
    2. SSLが必要な場合、Windows Server + IIS でのSSLオレオレ証明書 - 総天然色頁を参照

Windows用のsvnクライアント(CUI)をインストールする。

Redminesvnコマンドを実行するため、CUIのクライアントをインストールする必要があります。
Windowsの場合は、Slik SVNを使うかApacheのバージョン(2.0/2.2)に合わせたインストールパッケージを使うかの二択になります。
どちらも無償&Windows Server 2008の対応を謳っていませんが、Slik SVNは64bit版もあるので、今回はこっちを導入。

  1. 公式サイトからmsiをダウンロード
  2. バイナリを実行してインストール


2009-08-08追記:VisualSVN自体にはsubversionクライアントがついている(GUIからリポジトリを選択してコマンドプロンプト起動可能)ので、パスを通せば単体で問題ない?

svnリポジトリを用意する

VisualSVNの管理画面でリポジトリを追加。
Active Directoryと連動できるので、redmineから参照するためのユーザを選んでPermissionを付加しておく。

redmineプロジェクトにリポジトリ情報を追加する

*1:SVN-IISというのもあるものの、IIS 6.0までしか対応していない&Apacheのproxyでしかなさそう