Mac ServerにSubversionを設定してVersion管理
Version管理をするのにMac ServerのSubversionを使ったときのMemo。
環境はMac mini(Mac OS X Server 10.6.6 - Snow Leopard Server)
SubversionとApacheはInstall済みなので設定のみ。
まずはRepositoryの作成
$ cd /svnroot/Repository
$ mkdir project_name
$ svnadmin create project_name
次はApacheの設定
/etc/apache2/httpd.confを開いてsvnで検索して、以下の2行のCommentを外して有効にする。
LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so
LoadModule authz_svn_module libexec/apache2/mod_authz_svn.so
その他大まかな設定は今後のことも考えて「Server Admin」Appから行った。
- 別portのsiteを追加。
- Aliasは全て削除。Logの管理とかは適当に
これで「保存」。次にsubversionの設定を直接Apacheの設定Fileに追記する。
$ cd /etc/apache2/sites/
$ sudo vi 0002_any_8080_.conf
最後の方に以下の設定を追記。
<Location /svn>
DAV svn
SVNListParentPath On
SVNParentPath "/svnroot/Repository"
</Location>
Server Adminの「webを停止」 → 「webを開始」で再起動。再度修正して「保存」するとDAVが上書きされるので注意。
これで、http://192.168.0.xxx/svn/にAccessするとDirectoryが見えるはず。あとはTortoiseとか使って、実際にCheck outして確認。
Commitで失敗したときは権限の確認。Apacheが書き込みできないとErrorになるので、
$ sudo chown -R _www /svnroot/Repository
その他ハマったのが、(svnのlocationを使わずに)Top Directoryに設定したかったけど、方法がわからなかった。
Error: Repository moved permanently to 'http://192.168.0.xxx/project_name/'; please relocate
と怒られてしまう。この場合はapacheのsiteにQ&Aがある。Locationで指定しないとダメなのかな・・・。
LANのみで使うためSecurityの設定はまた別の機会に。
最後にVersion管理するProjectを追加するときの手順をMemo。
- $ cd /svnroot/Repository
- $ svnadmin create project_name
- $ sudo chown -R _www project_name/
- tortoiseで「http://192.168.0.xxx:8080/svn/project_name」をCheck out
- branches, tags, trunkを作成してCommit。
ついでにTortoiseのIcon Overlaysの設定も貼りつけ
<Related Post>