11 January 2011

【さくらインターネット】 ユーザ権限でApache Subversionをインストール

さくらインターネット 共用レンタルサーバにApache Subversionをインストールしたときの備忘録

■ インストール

インストール先は $HOME/local/bin とする

$ wget http://subversion.tigris.org/downloads/subversion-1.6.15.tar.gz
$ wget http://subversion.tigris.org/downloads/subversion-deps-1.6.15.tar.gz
$ tar xvf subversion-1.6.15.tar.gz
$ tar xvf subversion-deps-1.6.15.tar.gz
$ cd subversion-1.6.15
$ ./configure --prefix=$HOME/local --with-ssl --without-berkeley-db
$ gmake clean
$ gmake
$ gmake install
$ cd ..
$ rm -rf ./subversion-1.6.15     ← インストール後は不要なので消去

■ 環境変数 検索パス($PATH)の設定確認

$HOME/local/bin にパスが通っていない場合、.cshrc にパスを追加する。

~/.cshrc
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin $HOME/local/bin)

■ リポジトリの作成

$HOME/svn 以下にリポジトリを作成するものとする。ここでは、testというサブディレクトリ (リポジトリ)を作成している。

$ mkdir ~/svn
$ svnadmin create ~/svn/test

■ sshでの接続(ユーザ名、パスワードでの認証)

手元の端末(今回はUbuntu Linuxのコンソール)から。緑色で着色した部分は、ユーザ名、サーバ名に合わせる。たとえばチェッうアウトしてみる

$ svn checkout svn+ssh://user@example.com/home/user/svn/test
user@example.com's password: ***pasword***

適当なファイルを追加して、チェックインが成功すれば、Subversionがとりあえず稼動している。

■ SSH 公開鍵認証の設定

公式マニュアル SSH authentication and authorization に沿って設定する。
手元の端末がUbuntu Linuxとして、Subversionの設定ファイルにスキーマを追加する

~/.subversion/config
### Section for configuring tunnel agents.
[tunnels]
### Configure svn protocol tunnel schemes here.  By default, only
### the 'ssh' scheme is defined.  You can define other schemes to
### be used with 'svn+scheme://hostname/path' URLs.
 
ssh.example = /usr/bin/ssh -i ~/.key/id_rsa

実際のsvnアクセス時には次のようにアクセスする

$ svn checkout svn+ssh.example://user@example.com/home/user/svn/test