Apache2(Windows版)でのネットワーク対応

編集者:Terai Atsuhiro
作成日:2003-09-25
更新日:2014-09-24 (水) 20:07:33

概要

このページでは、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"オプションをチェックしていれば、以下は自動的に設定されるようです。

http://terai.xrea.jp/data/subversion/additional.png

  • 以下を検索して、コメントアウトされていれば#を外す
#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" #○

コメント