2009年4月9日木曜日

Mac OS X 10.5 Leopard に SVN サーバを立てる

Mac OS X 10.5 Leopard に標準でインストールされている Apache 2 を SVN レポジトリとして使うための設定です。結構よく見るネタなのですが、実際やってみたら、色々ハマるところがあって苦労したのでまとめておきます。

前提

Apache 2 は標準でインストールされています。SVN が標準で入っているかどうかはわかりません。Developer Tools をインストールしとけば入るでしょう。

レポジトリの URL は http://localhost/~user/repos/ 、ファイルシステム上のレポジトリは /Users/user/Sites/svnrepos と仮定して手順を紹介します。ファイルシステムのレポジトリを URL が指す /Users/user/Sites/repos とすることはできません (← ハマる原因①) 。

1. レポジトリを作る

シェルから 次のコマンドを実行します。

% svnadmin create /Users/user/Sites/svnrepos
% sudo chown -R www /Users/user/Sites/svnrepos

SVN のレポジトリを作成し、Apache 経由のアクセスに備えて、ファイルオーナーを www にします。グループは特に関係ありません。

2. /etc/apache2/httpd.conf に以下を追加

Apache の設定を変更します。変更箇所を差分として示します。

% diff /etc/apache2/httpd.conf /etc/apache2/httpd.conf.orig
117d116
< LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so
489,494d487
< <Location /~user/repos>
<  DAV svn
<  SVNPath /Users/user/Sites/svnrepos
< </Location>

※ 末尾の / あるなしは、とても重要です (←ハマる原因②) 。

3. Apache を再起動する

システム環境設定の共有 > Web 共有を使って、Apache を再起動します。

4. 新規プロジェクトを登録

試しにプロジェクトを登録してみましょう。

% mkdir project
% cd project
% mkdir trunk
% mkdir branches
% mkdir tags
% svn import -m "initialize" . "http://127.0.0.1/~user/repos/newproject"

5. 登録したプロジェクトをチェックアウト

今、登録したプロジェクトをチェックアウトし、作業を開始します。

% svn co "http://127.0.0.1/~user/repos/newproject"
% cd newproject

ここまでうまくいけば、一通り使えるようになっています。この設定では、認証などの設定が済んでいないので、引き続き設定を行ってください。

0 件のコメント:

コメントを投稿