Apache 2.2 (x64) on WindowsにSubversionを導入した
自宅のサーバに個人プログラムで使う用のSubversionを導入したときのメモ。
- サーバ: Apache 2.2 (x64) on Windows Home Server 2011
- Subversion: SVN 1.8.8 + mod_dav_svn
物資調達
- Apache 2.2 x64
-
Anindya's Blog
から
apache_2.2.24-x64-no-ssl.msi
をダウンロード。 ウィザードに従ってインストールします。 インストール先はC:\usr\apache
とします。 - SVN 1.8.8 x64
-
サーバが64bitなのでModulesも64bitのブツが必要です。
Apache Haus
から
Mod Subversion 1.8.8 for Apache 2.2.x x64
をダウンロード。
Subversionのインストール
適当なディレクトリ (ここではC:\usr\svn
とします)
に先程ダウンロードしたSubversionのzipを解凍。
次に、ApacheとSubversionそれぞれのbinディレクトリにPATHを通します。
環境変数のPATHにC:\usr\apache\bin;C:\usr\svn\bin;
を追加。
httpd.confの編集
モジュールを読み込ませます。 mod_davとmod_dav_fsが必要なのでコメントアウトを解除。
LoadModule dav_module modules/mod_dav.so&lf;LoadModule dav_fs_module modules/mod_dav_fs.so&lf;
mod_dav_svnとmod_authz_svnを追加。
LoadModule dav_svn_module /usr/svn/modules/mod_dav_svn.so&lf;LoadModule authz_svn_module /usr/svn/modules/mod_authz_svn.so&lf;
今回はサブドメインで運用するので
SUSH-i LOGさんの記事
を参考にVirtualHost
ディレクティブ内に設定を記述しました。
各リポジトリは[DocumentRoot]/repos/
配下に置くことにします。
<VirtualHost *:80>&lf; ServerName svn.example.com&lf; DocumentRoot "D:/www/svn"&lf; ErrorLog "logs/error_dav_svn.log"&lf; CustomLog "logs/access_dav_svn.log" combined&lf;&lf; <Location /repos>&lf; DAV svn&lf;&lf; SVNListParentPath on&lf; SVNParentPath "D:/www/svn/repos"&lf;&lf; <LimitExcept GET PROPFIND OPTIONS REPORT>&lf; AuthType Digest&lf; AuthName "svn"&lf; AuthUserFile "D:/www/svn/.htdigest"&lf; Require valid-user&lf; </LimitExcept>&lf; </Location>&lf;</VirtualHost>&lf;
Test Configurationして問題なければApacheを再起動。
動作確認
テスト用リポジトリを作ります。 コマンドラインから以下を実行。
svnadmin create D:/www/svn/repos/test&lf;
適当なSVNクライアントでhttp://svn.example.com/repos/test
にCheckoutできればOK。