サーバーでSubversion動かそうと思ったら予想以上の情報量の少なさにやられた。
メモ。
・通常どおりxamppをインストール、各種設定
・Subversionをインストール、各種設定
↓
・Subversion/binディレクトリからmod_authz_svn.soとmod_dav_svn.soをApache/Modules以下に上書コピー。
・Subversion/binディレクトリからintl3_svn.dllとlibapriconv-1.dllとlibaprutil-1.dllとlibdb44.dllをApache/bin以下に上書コピー。
・Apache/conf/httpd.confを開き、
・LoadModule authn_file_module modules/mod_authn_file.so
がコメントアウトされていないことを確認。
・LoadModule dav_module modules/mod_dav.so
を追加。
・LoadModule dav_fs_module modules/mod_dav_fs.so
を追加。
・LoadModule dav_svn_module modules/mod_dav_svn.so
のコメントアウトを外す。
・LoadModule authz_svn_module modules/mod_authz_svn.so
のコメントアウトを外す。
・好きなconfファイルに
<Location /svn>
DAV svn
SVNPath /var/svn-repos
Order deny,allow
Allow from all
</Location>
の様にしてリポジトリを追加。
ただしこのとき、Location /svnは/svn以外では正常動作せず、またSVNPathの差すパスが/…/svnの様に[svn]で終わっていると正常動作せず。
詳細は再度確認の上詰める必要ありか。
[08. 12. 26 修正] Bloggerのエディタ機能でLocation /svnのくだりが変なことになっていたので修正。
[08. 12. 26 追記] xampp 1.7.0以降、Subversion 1.5.3 en-usとの統合がきわめて楽になった。xamppでは標準でsubversionモジュールを読み込むようになっているので、xampp をインストール後、subversionをfor Apache 2.2.xオプションでインストール。
Apacheのconfに
<Location /svn>
DAV svn
SVNPath /var/svn-repos
Order deny,allow
Allow from all
</Location>
の様に、リポジトリのパスを通せばそれだけで使えるようになる。
ただやっぱり、どうも Location /svnは/svn以外だとうまくいかない場合がある。原因はよくわからない。
/svnはエイリアスみたいなもんなんで、Apacheのホームディレクトリ直下(若しくはドライブ直下)に”svn”って名前のディレクトリやファイルは置かないこと。
403かなんかではじかれる。たぶん。