SVNリポジトリ作成と設定

Subversionでバージョン管理を行うためにはデータを格納するリポジトリを作成する必要があります。ですので、まずはリポジトリ格納ディレクトリを作成します。ここでは「/home/svn/」配下に「repos01」というリポジトリ格納用のディレクトリを作成します。

# mkdir -p /home/svn/repos01

リポジトリの作成

上記で作成したディレクトリ内に新しいリポジトリを作成するよう、Subversionに指示する必要があります。そのためのコマンドがsvnadmin createコマンドです。

# svnadmin create /home/svn/repos01

コマンド実行に成功すると、リポジトリの作成先として指定したディレクトリ内に、いくつかのファイルが生成されているはずです。

# ls -la /home/svn/repos01/
total 32
drwxr-xr-x 6 root root 4096 Aug 10 19:54 .
drwxr-xr-x 3 root root 4096 Aug 10 19:54 ..
drwxr-xr-x 2 root root 4096 Aug 10 21:20 conf
drwxr-sr-x 6 root root 4096 Aug 10 19:54 db
-r--r--r-- 1 root root    2 Aug 10 19:54 format
drwxr-xr-x 2 root root 4096 Aug 10 19:54 hooks
drwxr-xr-x 2 root root 4096 Aug 10 19:54 locks
-rw-r--r-- 1 root root  229 Aug 10 19:54 README.txt

リポジトリの設定

続いて、上記で作成したリポジトリの設定を行います。リポジトリの設定は、リポジトリ格納先のディレクトリ内の「conf/svnserve.conf」ファイルを編集することで行えます。

# vi /home/svn/repos01/conf/svnserve.conf
[general]
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
# realm = My First Repository

[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256

viでファイルを開いたとき、先頭に「#」が記述されている行はコメント行と見なされます。基本的にコメント行として記述されている内容がデフォルト値になります。

主な設定項目と設定値は以下になります。

記述 意味
anon-access = read ユーザー認証していない場合、読み込みだけは許可する設定。
auth-access = write ユーザー認証している場合、読み書き(コミット)を許可する設定。
password-db = passwd パスワードの設定に、passwdファイルを利用する設定。(ユーザー管理)
authz-db = authz 認証DBファイルの名前を設定。(アクセス制御)
realm = My First Repository ユーザー認証ウィンドウで表示する任意のタイトルを設定。

必要に応じて編集してください。最後に編集したファイルを上書き保存(:wq)することで設定が反映されます。
特に重要なのが認証設定に関する項目になりますが、今回は練習であるため、まず、デフォルト設定の動作を確認するという意味でも、ここでは特に編集せずデフォルトのままとします。