複数svnリポジトリのつくり方
複数のSVNリポジトリをhttp経由でアクセス、管理する方法まとめ。
CentOS5、subversion1.4.2、Apache2.2.3 環境で作成。
単一リポジトリで、httpが必要ないならこっち参照。
作成するリポジトリ
以下にある3つのリポジトリを作ってみます。
アカウントは自分用、開発者用(=group1)を作成します。
アカウントのない人でもtestリポジトリはアクセス可能とします。
・myリポジトリ
自分専用の設定ファイルを保存する。.vimrc、.zshrcなどなど。
自分では読み書き可能。group1も読み込みは可能。それ以外の人は読み書き不可。
・devリポジトリ
皆で何かを開発する為に使用する。
自分は読み書き可能。group1も読み書き可能。それ以外の人は読み書き不可。
・testリポジトリ
SVN練習用のリポジトリ。SVN未体験、不慣れな人の為に。
全ての人が読み書き可能。
リポジトリ名 | パス | アクセス制限 |
---|---|---|
my | /home/svnadmin/svn/my | 自分:rw, group1:r, それ以外:アクセス禁止 |
dev | /home/svnadmin/svn/dev | 自分:rw, group1:rw, それ以外:アクセス禁止 |
test | /home/svnadmin/svn/test | 全て:rw |
(r...読み込み、w...書き込み)
必要なプログラムをインストールする
# yum install httpd # yum install subversion # yum install mod_dav_svn
リポジトリを作成
リポジトリを作成し、Apacheが読み書きできるようにする。
# mkdir -p /home/svnadmin/svn # svnadmin create /home/svnadmin/svn/my # svnadmin create /home/svnadmin/svn/dev # svnadmin create /home/svnadmin/svn/test # chown -R apache:apache /home/svnadmin/svn/my/ # chown -R apache:apache /home/svnadmin/svn/dev/ # chown -R apache:apache /home/svnadmin/svn/test/
Apacheの設定
/etc/httpd/conf.d/subversion.conf を以下のように設定する。
SVNParentPathには、リポジトリの親ディレクトリを指定する。
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNListParentPath on SVNParentPath /home/svnadmin/svn #リポジトリの親ディレクトリ Satisfy Any #アカウントのない人でもアクセス可能にする AuthType Basic AuthName "Authorization Realm" AuthUserFile /home/svnadmin/svnconf/htpasswd #ユーザアカウント設定ファイル AuthzSVNAccessFile /home/svnadmin/svnconf/svn-access #アクセス制限設定ファイル Require valid-user </Location>
アカウント作成
設定ファイルを置くディレクトリを作成する。
# mkdir -p /home/svnadmin/svnconf
自分のアカウント(hayori)、開発者アカウント(developer1, developer2)を作成する。
# htpasswd -c /home/svnadmin/svnconf/htpasswd hayori # htpasswd /home/svnadmin/svnconf/htpasswd developer1 # htpasswd /home/svnadmin/svnconf/htpasswd developer2
アクセス制限ファイルを作成
/home/svnadmin/svnconf/svn-access
[groups] me = hayori group1 = developer1,developer2 [/] * = r [my:/] * = @me = rw @group1 = r [dev:/] * = @me = rw @group1 = rw [test:/] * = rw
"* = "は全ての人、グループは先頭に@をつける。
Apache再起動
# /etc/init.d/httpd restart
動作確認
以下のアドレスに、ブラウザやSVNクライアントで意図通りにアクセスできるか確認する。
http://localhost/svn/my
http://localhost/svn/dev
http://localhost/svn/test
Subversionの使い方
使い方は、以下の本一冊読めば事足ります。薄めで1日あれば読める。オススメです。
Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)
- 作者: Mike Mason,でびあんぐる
- 出版社/メーカー: オーム社
- 発売日: 2007/04/21
- メディア: 単行本(ソフトカバー)
- 購入: 35人 クリック: 672回
- この商品を含むブログ (102件) を見る
SVNクライアントはWindowsならTortoiseSVNがオススメ。
TortoiseSVNのインストールと設定