今回は、Subversionサーバー側でSVNリポジトリを作成する方法について見ていきます。
SVNリポジトリの作成はsvnadmin createコマンドで行います。ここでは、「/home/svn」ディレクトリ配下にリポジトリ「java_repo01」を作成します。
# svnadmin create /home/svn/java_repo01
svnserveの設定
作成したリポジトリ下のconfディレクトリに各種設定ファイルが配置されます。
# cd /home/svn/java_repo01/conf/ conf# ll -rw-r--r-- 1 root root 1080 Mar 4 18:53 authz -rw-r--r-- 1 root root 309 Mar 4 18:53 passwd -rw-r--r-- 1 root root 2279 Mar 4 18:53 svnserve.conf
svnserveは各リポジトリの上記設定ファイルにしたがって動作します。
デフォルトの設定では、読み取り専用でしかリポジトリアクセスできないため、認証の設定を行い、認証を通過したアクセスに対しては書き込み権限を与えるように設定します。
svnserveの認証はリポジトリ下のconfディレクトリにあるsvnserve.confファイルで設定します。
conf# vi svnserve.conf [general] anon-access = read auth-access = write password-db = passwd authz-db = authz
項目 | 意味 |
---|---|
anon-access | 匿名アクセスを許可するかどうかを設定する。(read,write,none) |
auth-access | 認証されたユーザーのアクセス権を設定する。(read,write,none) |
password-db | ユーザーとパスワードが記述されたファイルへのパスを指定する。 |
authz-db | ディレクトリ・ファイル単位(リポジトリ内)のアクセス権が記述されたファイルへのパスを指定する。 |
「anon-access」と「auth-access」で設定できるアクセス権には以下の種類があります。
none | アクセスを許可しない。 |
---|---|
read | リポジトリへの読み取りのみ許可する。 |
write | リポジトリへの読み書きを許可する。 |
パスワードファイルの設定
「password-db」で指定したファイルにリポジトリへのアクセスを許可するユーザーとパスワードを記述します。
上記の例では「passwd」ファイルに以下の形式で編集します。
[users] ユーザー = パスワード
ここでは以下のように編集します。
conf# vi passwd [users] testuser = 123qwe
ここでは割愛しますが、authzファイルを編集することで、リポジトリ内のディレクトリやファイルに対して、ディレクトリもしくはファイル単位でアクセス権を設定することも可能です。その単位での設定が必要なければ、authzファイルの編集は不要です。
svnserveの起動確認
クライアントがsvnプロトコルを使用してリポジトリへアクセスするためにはサーバー側でsvnserveを起動させておく必要があります。
起動確認は以下コマンドで行えます。
# service svnserve status svnserve (pid 4857) is running...
「running」になっていなければ以下のコマンドでsvnserveを起動します。
# service svnserve start