SVNサーバ構築(Windows)

SVNサーバ構築(Windows)

バージョン管理システムの1つSubversionのサーバ構築の手順をまとめました。
SVNリポジトリへのアクセス認証はBASIC認証の設定までです。

■環境
OperationSystemMicrosoft Windows 2000 Professional SP4
SubversionSubversion for Win32 version 1.4.3
Apache HTTP ServerApache HTTP Server version 2.0.58

■SVNの設定
1.インストール
以下のサイトから『svn-x.x.x-setup.exe』をダウンロードし実行します。
今回は『svn-1.4.3-setup.exe』をダウンロードしました。

  • SUBVERSIONプロジェクト
    http://subversion.tigris.org/
  • ダウンロード場所
    http://subversion.tigris.org/servlets/ProjectDocum...

インストールが終了したら、コンソールで以下のコマンドを実行し、正常に行われたかどうか確認します。
svn --version
svnコマンドを受け付けないようであれば、インストールに失敗しているか、PATH環境変数を見直しましょう。

2.リポジトリの作成
リポジトリとは、SVNがバージョン管理を行う為のデータベースのようなものです。
ここで作成したディレクトリをSVNのリポジトリとして認識させる事によって、バージョン管理に必要な
ファイルが自動的に作成され、SVNによってバージョン管理されるようになります。

(1)ディレクトリを作成
mkdir C:\svn\repo

(2)リポジトリとして認識させる
svnadmin create C:\svn\repo
svnadminを実行すると指定したディレクトリ配下に、SVNで必要なディレクトリ、ファイルが自動的に作成されます。

3.プロジェクトの作成
SVNに管理させていプロジェクトを作成します。SVNではリポジトリ配下のリソースの全てを単なるディレクトリ or ファイル
として管理するため、リポジトリ配下で管理されているリソースがプロジェクトかどうかは、ユーザの認識による事になります。

(1)管理させたいディレクトリを作成
mkdir C:\tmp\myproject
mkdir C:\tmp\myproject\trunk
mkdir C:\tmp\myproject\branches
mkdir C:\tmp\myproject\tags

trunk,branches,tagsはプロジェクト管理の便宜上、一般的に作成するディレクトリです。(必須ではありません)

(2)リポジトリへインポート
svn import C:\tmp\myproject file:///C:/svn/repo -m "initial import"

importの2番目の引数はURLで指定します(file:スキーム)。
例えば、SVNリポジトリの場所が「C:\svn\repo」なら「file:///C:/svn/repo」になります。
svn importを実行すると、リポジトリのデータベースへプロジェクトのツリー情報が作成されます。

■Apacheの設定
1.インストール
以下の場所から『apache_x.x.xx-win32-x86-no_ssl.msi』をダウンロードし、実行します。

  • Apache HTTP SERVER Project
    http://httpd.apache.org/
  • ダウンロード場所
    http://archive.apache.org/dist/httpd/binaries/win3...

ちなみに今回インストールしたsvnのバージョンがApache2のv2.0.58でコンパイルされている為、
今回は、『apache_2.0.58-win32-x86-no_ssl.msi』をダウンロードしました。

2.モジュールの追加
(1)モジュールのコピー
以下のファイルをAPACHE_HOME/modulesにコピーします。
SVN_HOME/bin/mod_dav_svn.so

以下のファイルをAPACHE_HOMEにコピーします。
SVN_HOME/*.dll

(2)LoadModuleの設定
『httpd.conf』に以下の記述を追加し、モジュールがロードされるように設定します。
今回は「mod_dav.so」の記述は、既にコメントアウトされていたので、有効にしました。
※ 「mod_dav.so」の方を先にロードしなければならない為、記述の順序に注意。

LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so

(3)<Location>の設定
<Location /svn/repo>
  DAV svn
  SVNPath C:/svn/repo
</Location>

この時点でhttp経由でSVNリポジトリへアクセス可能となります。

3.アクセス認証の設定
今回はBASIC認証を設定します。
(1)パスワードファイルの作成
APACHE_HOME/binディレクトリに移動し、以下の『htpasswd』ツールを実行します。
htpasswd -c パスワードファイルの絶対パス ユーザ名

(2)『httpd.conf』の設定
先ほどの<Location>要素に以下の記述を追加します。

<Location /svn/repo>
  DAV svn
  SVNPath C:/svn/repo
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile パスワードファイルの絶対パス
  Require valid-user
</Location>

Apacheを再起動後、BASIC認証でSVNリポジトリへアクセス出来るようになります。

■参考サイト
  • Subversionによるバージョン管理
    http://svnbook.red-bean.com/
2007年04月16日(月) 16:48:04 Modified by mr_makochi




スマートフォン版で見る