●svn+ssh
前提として、
・環境はSVNサーバ = UNIX、SVNクライアント = Windowsのつもりで解説する
・SVNサーバのroot的権限をもっていないと設定できない
・SVNサーバでsshdが動いていないと使えない
・SVNサーバにアクセスするユーザが権限を持っていないとクライアントできない(これについては後述し、出来るようにする)
とりあえずsubversionのインストール
さて、まず
SVNのリポジトリがあるディレクトリを確認する、もしくはリポジトリ用のディレクトリを作成する。
(一般的には、README.txtとかconf, dav, dbなどがあるディレクトリだと思う。)
※うちの場合は、/usr/local/svn/repos
クライアントからアクセスするアドレスは以下になるので覚えておく。
※うちの場合は、svn+ssh://yama@123.45.67.89/usr/local/svn/repos みたいな
ここまでで問題になるのが冒頭に書いたことで、
svn+sshを使うということは、対象ユーザがサーバにsshでログインしてファイル操作をしているのと同じ扱いになる。
つまり、
対象ユーザがSVNの構成ファイルを操作する権限を持っていないとコミットや更新が出来ない。
よって、以下の作業でこの問題を解決する。
SVNを操作するグループを作り、sshアクセスしたいユーザをそのグループに登録する。
とか。
そしたらSVNを構成するファイル(ディレクトリ)のグループを変更
SVNの構成ファイル(ディレクトリ)でユーザが書き込み権限をもつものにグループの書き込み権限を追加したい。
ので、以下のコマンドを打つと一発だそうな
次に
とりあえず、リポジトリブラウザでsvn+sshのアドレスからファイルが見られるか確認する。
OKなら、TortoiseSVNのメニューから再配置を選び、先URLをsvn+ssh://のアドレスに設定する。
・環境は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://のアドレスに設定する。
Comments