Debian8(jessie)でsubversion(svn)をセットアップ

2017年11月30日

svnも移行しなきゃならないです。
本当はapacheでhttp接続できるようにしたいところですが、nginxでは無理そうなので、
svn://~
でつなぐ方向で諦めることにしました。

インストール

$ sudo apt-get install subversion

これだけです。

設定

リポジトリを作ってその中の設定ファイルを編集していきます。
/var/svn にtestという名前のリポジトリを作ります。

$ sudo mkdir /var/svn
$ cd /var/svn
$ sudo svnadmin create test

権限はデーモンを起動させたユーザーにすればいいようです。

$ sudo chown -R svn:svn test

コミットする時のユーザーとパスワードを設定します。
このユーザーはシステムに存在する必要はないようです。迷う部分ですね。

$ sudo vi /var/svn/conf/passwd
[users]
test = test

書式は
ユーザー名 = パスワード
です。

$ sudo vi /var/svn/conf/svnserve.conf

以下の3行をコメントを外して生かします。

anon-access = read
auth-access = write
password-db = passwd

サービスを起動

デーモンとして起動させます。
上にも書きましたが、起動させたユーザーの書き込み権限でリポジトリにアクセスしますので注意です。

$ svnserve -d

リポジトリのURLはこうなります。
この場合はパスはルートから書きます。

 

リポジトリのルートを指定したり、ポートを変更するにはこうします。

svnserve -d -r /var/svn --listen-port 3691

リポジトリURLは以下のようになります。ポート番号を:でつければいいです。

さらに、複数リポジトリを設定したい場合は複数のリポジトリを置くだけです。

svn://192.168.26.149:3691/test1
svn://192.168.26.149:3691/test2
svn://192.168.26.149:3691/test3

こんな感じで。

新しく起動させるにはkillしてプロセスを停止させないと2重3重起動になってしまいます。
起動スクリプトを使うべきですが、通常/etc/init.dにインストールされるはずの起動スクリプトはインストールされませんでした。

リポジトリの移行

バックアップ、リストア、と言う専用のコマンドがあるのですが、
試しにごっそりコピーしてみた所普通に移行が可能でした。
自分だけでしか使ってないという場合には、tarで固めて持っていくだけで良さそうです。