【概要】
・SVN用プロトコル(デフォルトのポート:3690)を利用した接続方法。
・SVN用のApacheを入れられない環境向け
(既存のWeb/APサーバとのポート重複が懸念されるケースで利用)
【セットアップ】
[参考]http://fan.plus-idea.net/subversion/2012/04/subversion-server-windows-install/
■ダウンロード
http://alagazam.net/
⇒1.8.3押下
⇒Subversion 1.8.3 installer for Apache httpd 2.2.x and 2.4.x
⇒Setup-Subversion-1.8.3.msi を押下しDL
※2013/09時点の最新版
■インストール
msiを実行し、次へ次へでインストール(Apacheは2.2を選択)
⇒C:\Program Files (x86)\Subversion にインストールされる。
■リポジトリルートフォルダ作成
例)C:\SVNRepo 作成
■リポジトリ作成
コマンドプロンプトで、以下のようなコマンド実行
svnadmin create C:\SVNRepo\proj1
⇒指定したフォルダ配下にファイルができていれば成功。
■ユーザー設定
C:\SVNRepo\proj1\conf\passwd を編集、アカウント・パスワードを追加
例)user1 = pass ([ユーザ] = [パスワード])
■認証設定
C:\SVNRepo\proj1\conf\svnserve.conf を編集(下記を[general]に追記)
anon-access = none
auth-access = write
password-db = passwd
【接続確認】
①svnserve起動
・コマンドプロンプトを「管理者として実行」で起動
・svnserve --daemon --root C:\SVNRepo
※起動しっぱなしになるので、コマンドプロンプトのコントロールは戻らない
②チェックアウト確認
・①と別のコマンドプロンプトを「管理者として実行」で起動
・cd C:\Users\User1 ※チェックアウト先フォルダに移動
・svn co --username user1 svn://localhost/proj1
・パスワードを聞かれたら、passwdファイルに記述したパスワードを入力。
例)Authentication realm: <svn://localhost:3690>
Password for 'user1': ******
Checked out revision 0.
・C:\Users\RYOJY\proj1ができていることを確認。
③svnserveをサービスとして追加
・①のプロンプトで、Ctrl+Cでsvnserve停止
・②のプロンプトで、以下コマンド実行
sc create svnserve binpath= "C:\Program Files (x86)\Subversion\bin\svnserve.exe --service --root C:\SVNRepo" displayname= "Subversion" depend= tcpip start= auto
⇒ [SC] CreateService SUCCESS と表示されたら成功。
④サービス起動可否確認
・管理ツール→サービス で、「Subversion」というサービスが追加されたことを確認。
・「開始」で、起動できることを確認。
【ネットワーク設定・外部からの接続確認】
ファイアウォールを設定して外部から接続可能にする。
①コントロール パネル\システムとセキュリティ\Windows ファイアウォール にて、以下を設定
「Windowsファイアウォールを介したプログラムまたは機能を許可する」
⇒「別プログラムの許可」
⇒「C:\Program Files (x86)\Subversion\bin\svnserve.exe」を追加
②(左側の)「詳細設定」⇒「受信の規則」⇒(右側の)「新しい規則」⇒
「ポート」⇒「(TCP)・特定のローカルポート(3690)」⇒「svnポート接続」の名前で登録
③外部から接続確認
ネットワーク上の別端末からTortoiseSVNで、
SVNチェックアウト⇒リポジトリURL svn://サーバIP/proj1 でチェックアウト
③下記フォルダをチェックアウトフォルダ配下に作成し、追加・コミット
branches/
tags/
trunk