レンタルサーバー(お名前.com)を SVN サーバーにしてみる
このブログも「お名前.com」のレンタルサーバーを使ってます。レンタルサーバーはある程度は自由に色々できるのがメリットです。ブログだけではもったいない、ということで、今回は SVN サーバにして、自宅から svn+ssh でつなげてみましょう。自宅からレンタルサーバに SSH 接続できるようにしていることが前提です。やり方は「レンタルサーバー(お名前.com)に SSH 接続」を参考にしてください。
Subversion のインストール
SSH 接続したレンタルサーバ上での作業です。私が契約している「RSプラン(12か月)」では Red Hat 系の Linux のようですが、RPM もないようなので自力でダウンロード&コンパイルという方法になるのかな、と思います。あと root も取れませんので、そのあたりできることには制限が出てきそうです。(逆にサーバーを壊すことがなさそうなので安全とも言えますね)
まず最初にここから必要なバージョンのアーカイブを選びます。私は現時点での最新版(1.14.1)にしました。 なので、ダウンロードするのは「subversion-1.14.1.tar.gz」です。
これをダウンロードしてコンパイルしていくわけですが、先に作業ディレクトリを作成してそこに移動しておきましょう。
mkdir $HOME/work
cd $HOME/work
ダウンロードには、wget を使います。ダウンロードしたら展開して、そのディレクトリに移動しておきます。
wget https://archive.apache.org/dist/subversion/subversion-1.14.1.tar.gz
tar xfz subversion-1.14.1.tar.gz
cd subversion-1.14.1
実行したイメージはこんな感じです。ターミナルをこんな色にしている時点で歳が知れますね、、(笑)

最初に依存関係のあるモジュールをダウンロードするために get-depes.sh を実行するのですが、内部で実行している wget が証明書の関係で一部のダウンロードに失敗してしまうので “–no-check-certificate" オプションを追加しておきます。vi 等のエディタで get-depes.sh を直接修正してください。

その上で、get-deps.sh を実行します。
./get-deps.sh
すると必要なモジュールがダウンロードされてきます。フォルダが増えてるのがわかると思います。

今回の使用目的で必ず必要なのが APR (Apache Portable Runtime) および APR-util です。
これを以下の通り、順番にビルドおよびインストールしていきます。インストール先は、"$HOME/local" にしています。( /user/local は書き込めないので)
cd apr
./configure --prefix=$HOME/local
make
make install
cd ..
続けて、apr-util です。
cd apr-util
./configure --prefix=$HOME/local --with-apr=$HOME/local
make
make install
cd ..
最後に Subversion 本体を以下の通りインストールします。
./configure --prefix=$HOME/local --without-berkeley-db --with-apr=$HOME/local --with-apr-util=$HOME/local --without-serf --with-lz4=internal --with-utf8proc=internal
make
make install
これで、$HOME/local/bin 配下に svn 等のコマンドが入ったと思います。

このレンタルサーバには一応 /usr/bin に Subversion 1.7.14 が入っていたようですが、新しくインストールした svn が参照されるように .bashrc で PATH を編集しておきます。

念のため、ターミナルに入りなおして、svn が今回インストールされたものになっているかを確認してください。

テスト用にSVNリポジトリを作って置きます。"$HOME/repo/TEST" という名前で作成します。
mkdir $HOME/repo
svnadmin create $HOME/repo/TEST
Tortoise SVN からの svn+ssh で接続
今度は自PC(Windows10)からの接続設定です。TortoiseSVN を使います。有名なので説明とインストールはばっさりと省略します。
最初に SSH の設定を行います。TortoiseSVN の設定画面の「ネットワーク」→「SSH」に以下のように設定します。TotoisePlink.exe は TortoiseSVN に付属している SSH クライアントです。また【ポート番号】等の情報は「レンタルサーバー(お名前.com)に SSH 接続」を参考 にしてください。
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -P 【ポート番号】 -i 【プライベートキー(秘密鍵)ファイル名】 -l 【ユーザー名】
これで設定としては終わりです。
以下の通りチェックアウトしてみましょう。
- リポジトリのURL:svn+ssh://【ホスト名】/home/【ユーザ名】/repo/TEST
- チェックアウト先のディレクトリ:C:¥TMP¥TEST
【ホスト名】、【ユーザ名】は関連記事を参照です。この記事でもありましたが、SSH で接続する1回目は必ず知らないホストですね、っていう警告がでます。TortoiseSVN だと以下のような感じ。気にせず「はい」で進んでください。

チェックアウトできれば、あとは普通にファイルを登録したりコミットしたりしてみてください。

少し前までは、AWS EC2 で SVN サーバ立ててましたが、無料枠の期間も終わり、最低限のスペックなので料金こそ大したことないですがチリツモで馬鹿になりません。まめまめしく必要なときだけ起動するようなことしてましたが、そういう手間はなくなりそうです。
ただ実際問題として24時間稼働させた場合に、レンタルサーバーと AWS EC2 での運用とどちらが安いんだって問題はあると思います。勿論、やりたいことによって異なるとは思いますが、色んな手間を惜しまないなら、AWS EC2 の最小スペックでの運用でやった方が安い気がしなくもないです。
ということで、今回はここまでです。
ディスカッション
コメント一覧
まだ、コメントがありません