さくらインターネット 共用レンタルサーバに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
■ 通常のSSH接続の設定(参考)
SSH接続で公開鍵認証できるように設定ファイルに追記する
~/.ssh/config
Host example.com User user HostName example.com IdentityFile ~/.key/id_rsa IdentitiesOnly yes
テスト接続して設定が正しく読み込まれているか確認
$ ssh -T example.com -v OpenSSH_8.2p1 Ubuntu-4ubuntu0.3, OpenSSL 1.1.1f 31 Mar 2020 ~ 途中省略 ~ debug1: Trying private key: /home/USER/.key/id_rsa Enter passphrase for key '/home/USER/.key/id_rsa': ← id_rsa の暗号解除パスワードを入力 debug1: Authentication succeeded (publickey). ← 接続成功のメッセージを確認する ~ 途中省略 ~ Warning: no access to tty (Bad file descriptor). Thus no job control in this shell.