Apache2(Windows版)でSubversionをネットワークに対応
Total: 96034, Today: 1, Yesterday: 2
Posted by aterai at
Last-modified:
Summary
このページでは、Apache HTTP Serverを導入して、Subversionをネットワーク越しに利用する方法をメモしています。
インストール
1.前準備
Apache Subversion Binary Packagesから、Windows向けのApache2.2用のモジュールが入ったSubversionをインストールしておきます。
ここでは、Win32Svn(32-bit client, server and bindings, MSI and ZIPs; maintained by David Darj)をインストールして、"hoge"というサンプルプロジェクトのリポジトリを、SVNの親パス(SVNParentPath)の下に作っておきます。
SVNの親パスを作成します。
> mkdir c:\svn
"hoge"プロジェクトのリポジトリを作成し、これを初期化します。
> svnadmin create c:\svn\hoge
"hoge"の下に、trunk、tagsなどを作成します。
> svn mkdir file://localhost/c:/svn/hoge/trunk -m "trunkディレクトリ作成" > svn mkdir file://localhost/c:/svn/hoge/tags -m "tagsディレクトリ作成" > svn mkdir file://localhost/c:/svn/hoge/branches -m "branchesディレクトリ作成"
e:\hogehoge以下に置かれているソースディレクトリなどを、リポジトリにインポートします。
> mkdir e:\hogehoge\src > svn import -m "hogeのインポート" e:\hogehoge file://localhost/c:/svn/hoge/trunk
2.httpd.confの編集
大抵c:\program files\apache group\apache2\conf\httpd.confにあります。Subversionのインストーラを使って、Install and configure Subversion modulesオプションをチェックしていれば、以下は自動的に設定されるようです。
念のため、以下を検索して確認します(コメントアウトされていれば#を外す)。
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
さらに、以下を検索して無ければ追加します(mod_dav*.soモジュールより、後にロードされていれば良いようなので、LoadModule群の最後に追加する)。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
#modules以下にmod_dav_svn.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"
ここで一度Apache2を再起動して、動くかどうか確認しておきます。もし動かない場合は、C:\Program Files\Subversion\bin\libdb42.dllを、C:\Program Files\Apache Group\Apache2\binの下にコピーしてみてください。
あとは、ファイルの最後に以下を追加します。
<Location /svn>
DAV svn
SVNParentPath "c:/svn"
#以下、認証の設定ですが、ここではコメントアウト
#AuthType Basic
#AuthName "Subversion repositories"
#AuthUserFile "C:/Program Files/Apache Group/Apache2/etc/svnpasswd"
#<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require valid-user
#</LimitExcept>
</Location>
3.確認
Apache2を再起動して、http://localhost/svn/hoge にアクセス可能か確認します。
> cd C:\Program Files\Apache Group\Apache2\bin > apache -k uninstall > apache -k install
あとは、以下のようにチェックアウトして確認してみてください。
> mkdir e:\test > svn checkout http://localhost/svn/hoge/trunk e:\test
必要ならば、Apacheの設定で認証などの定義をしてください。
メモ
httpd.confSVNParentPath "c:\svn" #× SVNParentPath "c:/svn" #○
