<< FHC-360S | main | [VerUpInfo] FreeRapid Downloader >>

2011.11.11 Fri

svn+ssh

TortoiseSVNでsvn+sshプロトコールを使う
2011/11/11 更新 / 2007/12/24 リリース
前提として、
・環境はSVNサーバ = UNIX、SVNクライアント = Windowsのつもりで解説する
・SVNサーバのroot的権限をもっていないと設定できない
・SVNサーバでsshdが動いていないと使えない
・SVNサーバにアクセスするユーザが権限を持っていないとクライアントできない(これについては後述し、出来るようにする)


とりあえずsubversionのインストール
# apt-get update
# apt-get install subversion
# mkdir /usr/local/svn
# chmod 777 /usr/local/svn
# svnadmin create /usr/local/svn/repos




さて、まず

SVNサーバでやること


SVNのリポジトリがあるディレクトリを確認する、もしくはリポジトリ用のディレクトリを作成する。
(一般的には、README.txtとかconf, dav, dbなどがあるディレクトリだと思う。)
※うちの場合は、/usr/local/svn/repos

クライアントからアクセスするアドレスは以下になるので覚えておく。
svn+ssh://ユーザ名@サーバのIPアドレス/リポジトリがあるディレクトリのパス

※うちの場合は、svn+ssh://yama@123.45.67.89/usr/local/svn/repos みたいな



ここまでで問題になるのが冒頭に書いたことで、
svn+sshを使うということは、対象ユーザがサーバにsshでログインしてファイル操作をしているのと同じ扱いになる。
つまり、
対象ユーザがSVNの構成ファイルを操作する権限を持っていないとコミットや更新が出来ない。
よって、以下の作業でこの問題を解決する。



SVNを操作するグループを作り、sshアクセスしたいユーザをそのグループに登録する。
# groupadd svngroup
# groupmod -G svngroup yama

とか。
そしたらSVNを構成するファイル(ディレクトリ)のグループを変更
# chgrp -R svngroup /usr/local/svn


SVNの構成ファイル(ディレクトリ)でユーザが書き込み権限をもつものにグループの書き込み権限を追加したい。
ので、以下のコマンドを打つと一発だそうな
# find /usr/local/svn -perm -u+w -exec chmod g+w {} \;




次に

SVNクライアントでやること


とりあえず、リポジトリブラウザでsvn+sshのアドレスからファイルが見られるか確認する。

OKなら、TortoiseSVNのメニューから再配置を選び、先URLをsvn+ssh://のアドレスに設定する。

Trackback URL


Trackbacks

Eclipseでssh+svn(SSH接続を介したSubversionの利用)を行う方法について、おおざっぱなメモをしておきます対象環境今回の対象環境は、Windows?...

Comments

Comment form