SVN リポジトリの作成


svn コマンドを使用してリポジトリを作成:

[サンプル@centos6 ~]# svnadmin create /opt/svn/サンプル01
[サンプル@centos6 ~]# ll /opt/svn/サンプル01/
total 24
drwxr-xr-x 2 root root 4096 2016/08/23 16:31:06 conf
drwxr-sr-x 6 root root 4096 2016/08/23 16:31:06 db
-r--r--r-- 1 root root    2 2016/08/23 16:31:06 format
drwxr-xr-x 2 root root 4096 2016/08/23 16:31:06 hooks
drwxr-xr-x 2 root root 4096 2016/08/23 16:31:06 locks
-rw-r--r-- 1 root root  229 2016/08/23 16:31:06 README.txt

/opt/svn/サンプル01/conf ディレクトリに移動し、デフォルト設定ファイルの設定を変更します。svnserve.conf、passwd、authz でユーザーと権限を設定します。

1. svn サービス設定ファイル svnserve.conf

svn サービス設定ファイルは、リポジトリディレクトリ内のファイル conf/svnserve.conf です。このファイルは [general] 設定セクションのみで構成されます。

[general]
anon-access = none
auth-access = write
password-db = /home/svn/passwd
authz-db = /home/svn/authz
realm = tiku 
  • anon-access:非認証ユーザーのリポジトリへのアクセス権限を制御します。値の範囲は "write"、"read"、"none" です。 つまり "write" は読み書き可能、"read" は読み取り専用、"none" はアクセス権なしを意味します。デフォルト値:read。

  • auth-access:認証ユーザーのリポジトリへのアクセス権限を制御します。値の範囲は "write"、"read"、"none" です。 つまり "write" は読み書き可能、"read" は読み取り専用、"none" はアクセス権なしを意味します。デフォルト値:write。

  • authz-db:権限設定ファイル名を指定します。このファイルにより、パスベースのアクセス制御を実現できます。 絶対パスを指定しない限り、ファイルの場所は conf ディレクトリからの相対パスです。デフォルト値:authz。

  • realm:リポジトリの認証領域を指定します。ログイン時に表示される認証領域名です。2つのリポジトリの認証領域が同じ場合は、同じユーザー名・パスワードデータファイルを使用することをお勧めします。デフォルト値:UUID(Universal Unique IDentifier、グローバル一意識別子)。

2. ユーザー名・パスワードファイル passwd

ユーザー名・パスワードファイルは、svnserve.conf の設定項目 password-db で指定され、デフォルトは conf ディレクトリ内の passwd です。このファイルは [users] 設定セクションのみで構成されます。

[users] 設定セクションの設定行の形式は次のとおりです:

<ユーザー名> = <パスワード>
[users]
admin = admin
thinker = 123456

3. 権限設定ファイル

権限設定ファイルは、svnserve.conf の設定項目 authz-db で指定され、デフォルトは conf ディレクトリ内の authz です。この設定ファイルは [groups] 設定セクションと、いくつかのリポジトリパス権限セクションで構成されます。

[groups] 設定セクションの設定行の形式は次のとおりです:

<ユーザーグループ> = <ユーザーリスト>

リポジトリパス権限セクションのセクション名の形式は次のとおりです:

[<リポジトリ名>:<パス>]
[groups]
g_admin = admin,thinker

[admintools:/]
@g_admin = rw
* =

[test:/home/thinker]
thinker = rw
* = r

この例では次を使用しますsvnserve -d -r /opt/svnマルチリポジトリ svnserve 方式で SVN を起動するため、URL は次のようになります:svn://192.168.0.1/サンプル01。

その他の拡張