#author("2023-05-30T11:50:18+00:00","default:mogamin","mogamin") * Apache 2.2 (x64) on WindowsにSubversionを導入した [#red1c268] |この記事を書いた日は 2014/05/19 です| 自宅のサーバに個人プログラムで使う用のSubversionを導入したときのメモ。 - サーバ: Apache 2.2 (x64) on Windows Home Server 2011 - Subversion: SVN 1.8.8 + mod_dav_svn ** 物資調達 [#pb4ae21f] :Apache 2.2 x64 | [[Anindya's Blog:http://www.anindya.com/]]((記事移植時点でリンク切れ。とっくに EOL すぎたバージョンだから、どこかで最新のバイナリとそれに合う Subversion 探したほうがいいよ。)) から「apache_2.2.24-x64-no-ssl.msi」をダウンロード。 ウィザードに従ってインストールします。 インストール先は `C:\usr\apache` とします。 :SVN 1.8.8 x64 | サーバが64bitなのでModulesも64bitのブツが必要です。 [[Apache Haus:http://www.apachehaus.com/cgi-bin/download.plx#MODULES22VC09]] から「Mod Subversion 1.8.8 for Apache 2.2.x x64」をダウンロード。 ** Subversionのインストール [#d6fc117e] 適当なディレクトリ (ここでは `C:\usr\svn` とします) に先程ダウンロードしたSubversionのzipを解凍。 次に、ApacheとSubversionそれぞれのbinディレクトリにPATHを通します。環境変数のPATHに `C:\usr\apache\bin;C:\usr\svn\bin;` を追加。((ApacheのbinにPATHが通っていないと、svnやsvnadminが起動できません。また、SVNのbinにPATHが通っていないと、mod_dav_svn.soの読み込みに失敗します。)) ** httpd.confの編集 [#x736ccbb] モジュールを読み込ませます。mod_davとmod_dav_fsが必要なのでコメントアウトを解除。 LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so mod_dav_svnとmod_authz_svnを追加。 LoadModule dav_svn_module /usr/svn/modules/mod_dav_svn.so LoadModule authz_svn_module /usr/svn/modules/mod_authz_svn.so 今回はサブドメインで運用するので [[SUSH-i LOGさんの記事:http://blog.sus-happy.net/201102/apache-2-mod_dav_svn/]] を参考にVirtualHostディレクティブ内に設定を記述しました。各リポジトリは `[DocumentRoot]/repos/` 配下に置くことにします。 <VirtualHost *:80> ServerName svn.example.com DocumentRoot "D:/www/svn" ErrorLog "logs/error_dav_svn.log" CustomLog "logs/access_dav_svn.log" combined <Location /repos> DAV svn SVNListParentPath on SVNParentPath "D:/www/svn/repos" <LimitExcept GET PROPFIND OPTIONS REPORT> AuthType Digest AuthName "svn" AuthUserFile "D:/www/svn/.htdigest" Require valid-user </LimitExcept> </Location> </VirtualHost> `DocumentRoot` と `DAV svn`が入っている `Location` のパスを同じにすると、CommitやCheckout時に500エラーが出てしまうようです。 Test Configurationして問題なければApacheを再起動。 ** 動作確認 [#fda6f483] テスト用リポジトリを作ります。コマンドラインから以下を実行。 svnadmin create D:/www/svn/repos/test 適当なSVNクライアントで `http://svn.example.com/repos/test` をチェックアウトできればOK。