環境
- Archtecture: amd64
- Kernel: NetBSD 5.99.20(XEN3_DOMU)
- OS(userland): NetBSD 5.0.1
- subversion: 1.6.5(pkg)
svn用のグループとユーザを作成します。
# groupadd svnhoge
# useradd -g svnhoge -m svnhoge
sshの設定をします。
# su svnhoge
$ cd /home/svnhoge
$ mkdir .ssh
$ chmod 700 .ssh
$ vi .ssh/authorized_keys
command="/usr/pkg/bin/svnserve -t -r /home/svnhoge --tunnel-user=ono",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa AAA.....(中略) ono@xxxx
- ssh-rsa以降はクライアント側のid_rsa.pubを埋め込みます
- --tunnel-user= で指定するユーザ名はsvnで使用されるものでNetBSDのユーザとは別物です。
そのため、そのユーザをuseradd等で作成する必要はありません。
- 複数ユーザの場合はここに追加していけばOK。commitを区別するためには--tunnel-userをそれぞれ別にします。
次にレポジトリを作成します。
$ cd /home/safety
$ svnadmin create repos
これでサーバ側の設定は終了です。
上記のレポジトリは
svn+ssh://svnserver.example.org/repos
でアクセスできるようになります。
次にクライアント側でimportを行います。
svnの習慣にならい、trunk, branches, tagsを作成し、importします。
client$ mkdir /tmp/hoge
client$ cd /tmp/hoge
client$ mkdir trunk branches tags
client$ svn import -m 'initial import' . svn+ssh://svnhoge@svnserver.example.org/repos
これで完成です。