Apache2(Windows版)でSubversionをネットワークに対応
編集者:Terai Atsuhiro
作成日:2003-09-25
更新日:2009-10-25 (Sun) 18:06:38
概要
このページでは、Apache HTTP Server を導入して、Subversionをネットワーク越しに利用する方法をメモしています。うまくいかない場合は、C:\Program Files\Subversion\W32notes.txt なども参考にしてください。
インストール
1.前準備
Apache2とSubversionはあらかじめインストールしておいてください。どちらも設定はデフォルトのままでかまいません。ここでは説明のために、"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"
ここで一度Apace2を再起動して、動くかどうか確認しておきます。もし動かない場合は、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 にアクセスできればOKです。
> 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の設定で認証などの定義をしておくといいでしょう。Subversion によるバージョン管理のhttpd, Apache HTTP サーバなどを参照してください。
メモ
- httpd.conf
SVNParentPath "c:\svn" #× SVNParentPath "c:/svn" #○