2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

さくらのレンタルサーバー+TortoiseSVN

Last updated at Posted at 2024-01-12

前書き

リモートでゲーム等の共同制作する際、作業内容のやり取りが悩みの種。
プロジェクトデータごとオンラインストレージで、というのはあまりに不便。
また、諸事情で自前のサーバーを使うのが憚られる。

そんな時に活用できるのがレンタルサーバー+バージョン管理。
今回は実際にやってみた一例として、さくらのレンタルサーバー+TortoiseSVNの組み合わせを覚書していく。
尚これらの知識が殆ど無い人間が調べたり手探りだったりした覚書なので注意。
※Windows10

◆この記事で触れる内容
・サーバーの条件
・TeraTerm
・SQlite
・SVN(サーバー側)
・IDとPASSでTortoiseSVN接続
・鍵の作成
・鍵の登録
・鍵でTortoiseSVN接続
・サーバーをエクスプローラで表示(おまけ)
◆この記事では割愛する内容
・サーバーのレンタル手順
・TortoiseSVNの導入

サーバーの条件

必須なのが、SSHに対応していること。さくらのレンタルサーバーだとスタンダードプラン以上の契約内容になる。2週間はお試しで使えたり1年契約で割り引かれたりとかあるので用途に応じて検討。

TeraTerm

SSH通信するためのターミナルエミュレーター。色々あるらしいけどTeraTermはシンプルで分かりやすい。とりあえず窓の社から入手できる。https://forest.watch.impress.co.jp/library/software/utf8teraterm/
インストール不要のポータブル版もある。
起動したらドメインの入力を求められるので入力。他はそのまま。
20240111_160619.jpg
OKを押したらこんな警告が出てくる。要は確認画面。
このホストを~のチェックを入れて続行。
sec.jpg
次はアカウント名とサーバーパスワードを入力。
20240111_160624.jpg
無事接続するとcmdっぽい画面になる。ここに諸々入力していく。
20240111_161542.jpg

SQLite

SVNに必要なデータベースらしい。これがSVNでの対応バージョンと離れていたりするとコミット時にエラーを吐く原因になったりする。
URLやファイル名は適宜書き換え。

mkdir $HOME/tool
cd www
mkdir repository
cd repository
wget https://www.sqlite.org/2023/sqlite-autoconf-3440200.tar.gz
tar xvfz sqlite-autoconf-3440200.tar.gz
cd sqlite-autoconf-3440200
./configure --prefix=$HOME/tool
make
make install
cd $HOME$tool
ln -s sqlite3 sqlite

(自分のようなLinux触ったことない人向けに)やっていることを順に連ねると

Homeにtoolというディレクトリを作成
現在地をwwwに変更
wwwにrepositoryというディレクトリを作成
現在地をrepositoryに変更
repositoryにSQliteをダウンロード
ファイルを解凍
現在地をsqlite-autoconf-3440200に変更
ライブラリ等の存在や設定をチェック
コンパイル
インストール
現在地をtoolに変更
シンボリックリンクを作成

SVN

続いてSVN(サーバー側)を入れる。

wget https://downloads.apache.org/subversion/subversion-1.14.3.tar.gz
tar xvfz subversion-1.14.3.tar.gz
cd subversion-1.14.3
./configure --prefix=$HOME/tool
./configure --prefix=$HOME/tool --with-utf8proc=internal
make
make install
mkdir $HOME/svn/
cd $HOME/svn/
 $HOME/tool/bin/svnadmin create myrepos
ln -s $HOME/tool/bin/svnserve $HOME/bin/svnserve
SVNをダウンロード
ファイルを解凍
現在地をsubversion-1.14.3に変更
ライブラリ等の存在や設定をチェック
(オプションを変更して)ライブラリ等の存在や設定を再チェック
コンパイル
インストール
Homeにsvnというディレクトリを作成
現在地をsvnに変更
リポジトリを作成
シンボリックリンクを作成

IDとPASSでTortoiseSVN接続

クライアント側のTortoiseSVNの設定。
導入については本稿では割愛。

TortoiseSVNの設定>ネットワーク を開く。
20240112_013822.jpg
SSHクライアントに以下を入力

"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l exampleID -pw examplePASS

前半のアドレスはTortoisePlink.exeを絶対パスで指定する。普通にインストールしていれば上記と同じ場所になる。
exampleIDはアカウント名、examplePASSはサーバーパスワードに置換。

これでTortoiseSVNでサーバーに接続できるようになっているはずなので、リポジトリブラウザで確認する。以下を入力して開く。exampleDOMAINはドメインに置換

svn+ssh://exampleDOMAIN/home/exempleID/svn/myrepos

繋がらない場合はTeraTermからチェック。(svnから接続できるか確認)

$HOME/tool/bin/svn info svn+ssh:/exampleDOMAIN/home/exempleID/svn/myrepos

接続できなかった場合↓(svnserveが機能しているか確認)

svnserve -h

command not foundの場合↓(リンク先が正確に指定されているか確認)

ls -l $HOME/bin/svnserve

繋がったらチェックアウト&適当にコミットしてエラーが出ないか確認。

鍵で接続したい人は引き続き↓へ

鍵の作成

公開鍵と秘密鍵のペアを作成する。
https://www.ranvis.com/putty
まずこちらからPuTTYrvの任意のバージョンを入手。ポータブル版でOK。
ここでは0.80 (2023-12-20) 64bit .7zを使用している。

中にあるputtygen.exeを起動。

パラメータはそのままで生成をクリック
20240113_184204.jpg
マウスを動かしているとインジケーターが進む。
20240113_184204.jpg
こんな感じで鍵が生成される。

秘密鍵を保存。パスフレーズは任意。なくても良い。ファイル名も任意
秘密鍵は.ppkの形式で保存される。
公開鍵は保存せずともppkを開けば秘密鍵と一緒に書いてある。
あるいはこれで秘密鍵を読み込めば表示される。

鍵の登録

20240113_184643.jpg
公開鍵(赤枠の部分)をコピー。

公開鍵の登録方法は幾つかあるが、今回はレンタルサーバーのWebサイトから行う。
レンタルサーバーのコントロールパネルにアクセスし、SSH公開鍵の項を開く。

20240113_190440.jpg

新規追加をクリックし、公開鍵の欄にペースト。コメントも識別できるように書いておく。
20240113_190628.jpg
これで公開鍵の登録は完了。

複数人アクセスする場合はこの鍵生成と登録をその分行う。
鍵生成は本人が行って、サーバー担当に公開鍵だけ送って登録するのが望ましいかもしれない。

 
続いて秘密鍵の登録を行う。
pageant.exeに秘密鍵を登録するのだが、これがPCを再起動する度に登録が必要になる。
そこでショートカットに引数を渡し、登録された状態で起動できるようにする。

pageant.exeのショートカットを作成し、ショートカットのプロパティを開く。
リンク先を以下のように変更する
20240114_021207.jpg
本来のリンク先パスの後ろにppkの絶対パスを追加する。パスの間の半角スペースは必須。

これでショートカットから起動すればOK。
特にウィンドウは開かないがタスクトレイにアイコンが表れる。
ダブルクリックすれば登録されている鍵が確認できる。
20240114_021747.jpg

鍵でTortoiseSVN接続

IDとPASSで接続した時と同じようにTortoiseSVNの設定>ネットワーク を開く
SSHクライアントを以下のように書き換え

"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l "SampleID" -i "ppkの絶対パス"

SampleIDはアカウント名、ppkの絶対パスはショートカットに追加したのと同じように。
設定できたらリポジトリブラウザ等で接続確認。パスは前述と同じ。
svn+ssh://exampleDOMAIN/home/exempleID/svn/myrepos

20240114_023447.jpg

 

サーバーをエクスプローラで表示(おまけ)

PC直下の適当な場所で右クリック→ネットワークの場所を追加する
net1.jpg
 
ネットワークの場所の追加ウィザードが表示されるので、次、次と進む。
下の画面ではftp://から始まる形式でドメインを入力して次へ

20240112_144035.jpg

匿名でログオンのチェックを外しIDを入力して次へ

20240112_144047.jpg

ショートカットの名前。分かりやすければなんでも

20240112_151141.jpg
20240112_151207.jpg

これでネットワークの場所が追加されたのでダブルクリック。
ユーザー名とパスワードを求められるので入力。

20240112_152403.jpg

これでエクスプローラーで見れるようになった。
基本的には直接ファイルを開くことはできず、プロパティから見れる情報もごく一部のみ。ファイル検索も機能しない。
あくまで手軽にディレクトリ構造を視覚化する手段ということで。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?