Linux を svn サーバにする

サーバは VMware で作った仮想マシンにあるけど、ここでは関係無い。
svn+ssh で、クライアントは WindowsTortoiseSVN で公開鍵を使えば簡単にできる。

まず sshd が入っていないので


$ sudo apt-get install openssh-server
sshd を入れる。
入ったら、
念のため sshd_conifg を見てみる。
/etc/ssh/sshd_config でとりあえず、

PermitRootLogin yes
となっていればいいだろう。
サービスを起動させる。

$ sudo service ssh start
ちなみに

$ sodo /etc/init.d/xxx start
でもスタートはできる見たいだけど「使わんでくれよ」と警告がでる。

あとは
http://cl.pocari.org/2007-01-16-1.html
などの記述を参考にキー生成をすれば svn+ssh ができるようになった。
では説明にならないので^^;、具体的に書く

まずサーバ側
いつも使っている id ではなく subversion 用のグループを作ってやる。


$ sudo groupadd subversion
# sudo usermod subversion uuu
$ sudo chgrp -R subversion xxx
uuu はユーザ名
xxx はリポジトリのパス
で、おk。
これで svn+ssh が動いているはずだ。
ssh の tunnel モードを使うので、コマンドラインでの確認方法は分かりませんorz

クライアント側
最初に sskeygen.exe (putty)でキーを作る。
既にサーバ側に $HOME/.ssh/authorized_key がある場合でも、TotoiseSVN が putty 形式でないと認識しないようなので、sshkeygen は必要です。

次に ToroiseSVN の設定(Settings)で Network を開く。
下の方に SSH の設定ができるところがあるので、


"...PATH...\TortoisePlink.exe" -C -l ユーザ名 -i キーのパス\key.ppk
と設定。

あとは checkout するなり。