Subversionサーバーをインストール(Windows編)

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」配下に、バージョン管理に必要なファイル等が自動で作成されます。

こんなファイルができていますか?

注意

このリポジトリ用管理ファイルは、ファイルベースのDBである、Berkeley DBを利用しており、今のところ、リポジトリをネットワーク共有上に作成することは推奨されていません。ドライブレターにマッピングしたネットワークドライブも、同様に非推奨となっています。

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サーバが起動していない可能性があります。再度確認してみましょう。