View All Posts. MiCHiLU.com powered by Django ;-)

[Linux]: Subversion サーバを立てるメモ

http は遅い気がするので ssh で。 (簡単だし)

まずはインストール。

$ sudo yum install -y subversion

Subversion サーバ用のアカウントを用意する。 パーミション設定や管理の面からお勧め。 ログイン禁止で構いません。 公開鍵毎に Subversion リポジトリに対するユーザを識別します。 sshd の /etc/ssh/sshd_configPasswordAuthentication no として PubkeyAuthentication yes とします。

次に、用意したアカウントの ~/.ssh/authorized_keys を設定します。 1行に1ユーザ(svn)を書いていきます。

command="svnserve -t --tunnel-user=MiCHiLU -r /home/svnuser/svnrepo"\
,no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty\
 ssh-dss ...

command="svnserve ..." で svnserve を起動しています。 以降は制限のための記述で、その後に通常の ssh-pubkey を記述します。

以上で、サーバ側の設定は終わり。 次、 ssh クライアントからの確認。

$ ssh -i ~/.ssh/id_for_svn svnuser@subversion.server
( success ( 1 2 ( ANONYMOUS EXTERNAL ) ( edit-pipeline ) ) )

shell ではなく svnserve の応答が帰れば成功です。 次、 svn クライアントの設定。

~/.subversion/config

[tunnels]
egg = $SVN_EGG ssh -i ~/.ssh/id_for_svn -l svnuser

[tunnels] ディレクティブに ssh コマンドへのショートカット(?)を書きます。 次、 svn クライアントでアクセスしてみます。

$ svn ls svn+egg://subversion.server
$ svn log --limit 1 svn+egg://subversion.server

などとやってみて、正常な応答が帰ってくることを確認します。

Fri, 18 May 2007 18:11:32 +0900 source edit
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.
View All Posts. MiCHiLU.com powered by Django ;-)