2008年4月20日日曜日

Windows の Subversion にネットワーク経由でアクセスする

同一ネットワーク上にある他の PC 上の Subversion にアクセスしたい。

Subversion の動作 によると、次のいくつかの方法がある。

file://
ローカルないしネットワークドライブのリポジトリに直接アクセスします。

http://
Subversion を組み込んだ Apache サーバに WebDAV プロトコルでアクセスします。

https://
http:// と同じですが、SSL 暗号化を用います。

svn://
svnserve サーバと独自プロトコルで行う、認証されていない TCP/IP アクセス。

svn+ssh://
svnserve サーバと独自プロトコルで行う、認証・暗号化された TCP/IP アクセス。

Apache との連携がお手軽そうだ。

 

方法

Apache2(Windows版)でSubversionをネットワークに対応 に従って設定を行った。

まずはじめに、Subversion のインストーラを使って、 Apache の設定をさせようとした。ネットワークに対応させたい PC (192.168.11.2) は、Apache2.0.55 。Subversion は 1.4.3 。(svn --version で確認。) インストーラは削除してしまっているので、再度、Win32 packages built against Apache 2.0 から svn-1.4.3-setup.exe を再度ダウンロードした。インストーラを使って、設定をさせようと思ったが、デフォルトで Apache との連携がされるように設定がされるようチェックがされていた。

080420-001

 

Apache の httpd.conf を確認したところ、

LoadModule dav_module modules/mod_dav.so

は、コメントアウトされており、

#LoadModule dav_fs_module modules/mod_dav_fs.so

は、コメントアウトされてなかったので、コメントアウトした。

以下は記述がされていた。

LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"

Subversion のある位置情報を追加し、Apache を再起動。 http://localhost/svn にアクセスして動作を確認した。今回は、認証をかけない設定で行った。

<Location /svn>
  DAV svn
  SVNPath "d:/develop/svn"
</Location>

当初、上記の SVNPath を SVNParentPath と記述していたら動作しなかった。また、svn を snv と書くとエラーで起動しない。 ^^; 書き間違えに注意。

他の PC 上から TortoiseSVN を利用して、URL を http://192.168.11.2/svn としてアクセスができた。

 

参考