SubversionのサーバをWindowsにインストールする手順です。
ダウンロードとインストール
まず、このページからインストールモジュールをダウンロードしてきます。今回はバージョン1.7.4の、「Setup-Subversion-1.7.4.msi」にしました。
Windows版のSubversionでは、サーバとして、軽量スタンドアロンサーバであるsvnserveとApacheも利用することができますが、1.6.0以上のバージョンではApahceサーバとしては、Apache2.2以上をサポートしています。
それでは、ローカルのPCに保存したセットアップファイルをダブルクリックしてインストールを開始します。
インストールが終わったら、下記のコマンドをコマンドプロンプトから打ち込んで、インストールが正常に終了したかを確認します。
svn --version
このような画面が表示されたら成功です。
上記でエラーが出た場合など、必要であれば、環境変数PATHに、SVNの実行ファイルの場所を追加します。(msiファイルによってインストールした場合、デフォルトでは「C:\Program Files\Subversion」)
上記インストーラでインストールした場合は、自動で追加されています。
リポジトリの作成
はじめに、どこか、ディレクトリを決め、そこの配下にリポジトリを作成していくことにします。ここをリポジトリのルートディレクトリとしましょう。
今回は、「C:\repo」としました。
リポジトリとは、subversionがバージョン管理を行うための情報を格納しておく場所です。subversionはそのディレクトリに、管理対象のコード等のファイルや、バージョン情報をストックします。
なので、「ここ配下にsubversionのものを置こう」というディレクトリを決めましょう。決めたら、もし、ディレクトリが実際になければディレクトリを作成してください。
その後、以下のコマンドを打ちます。
svnadmin create C:\repo\mysvn_repo
「C:\repo」の部分が、決めたルートディレクトリですね。その下のディレクトリ名「mysvn_repo」がリポジトリ名になります。
これにより、「C:\repo\mysvn_repo」配下に、バージョン管理に必要なファイル等が自動で作成されます。
こんなファイルができていますか?
svnserve の実行
それでは、svnserveを起動してsvnサーバを立ち上げましょう。Svnserveは、軽量スタンドアロンサーバで、小・中規模構成のプロジェクトでは十分です。
大規模なプロジェクトやインターネット経由でのプロジェクト管理にはApacheを介したサーバ構成が良いでしょう。
起動は以下のコマンドで行います。新しいコマンドプロンプトを開いて、
svnserve --daemon --root C:\repo
と打ちましょう。「svnserve –daemon」とだけ入力することもできますが、「–root」スイッチを使うと、そこ配下だけアクセスするようにできます。セキュリティ上もこちらのほうが望ましいでしょう。
パスワードの入力を促されて接続できたら成功です。
Windowsサービスとして登録
しかし、毎回起動するのも面倒ですし、コマンドプロンプトを立ち上げっぱなしというのも厄介です。
そのため、svnserveをWindowsサービスとして登録・実行させることにしましょう。
sc create svnserve binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service --root C:repo" displayname= "Subversion" depend= tcpip start= auto
成功しましたか?OKであれば上記のように、管理者メニューのサービスに登録されているはずです。
[SC]OpenSCManager FAILED 5:アクセスが拒否されました。
というエラーが出る場合があります。これは、ユーザアカウント制御(UAC)が有効になっているためなので、コマンドプロンプトを「右クリック」⇒「管理者として実行」で開きましょう。
ユーザの作成
それでは、subversionを利用するユーザの作成を行いましょう。
passwd というファイルに、ユーザとそのパスワードを設定します。今回は「koji = kojipass」という行を追加しました。
また、svnserve.conf というファイルの記述を変えます。このファイルは 先ほど起動したsvnserveデーモンの設定を制御しています。
[general]
anon-access = none
auth-access = write
password-db = passwd
realm = Koji Repository
では、ユーザが有効になっているか確認してみます。
svn co --username koji svn://localhost/mysvn_repo
上記のコマンドをうって、パスワードの入力を促され、ログイン出来たら成功です。
このURLは、Eclipseで接続する場合のの設定にも利用するので、覚えておきます。
対象のコンピューターによって拒否されたため、接続できませんでした。
というエラーが出る場合は、subversionサーバが起動していない可能性があります。再度確認してみましょう。