SVNサーバ構築(Windows)
SVNサーバ構築(Windows)
バージョン管理システムの1つSubversionのサーバ構築の手順をまとめました。
SVNリポジトリへのアクセス認証はBASIC認証の設定までです。
■環境
■SVNの設定
1.インストール
以下のサイトから『svn-x.x.x-setup.exe』をダウンロードし実行します。
今回は『svn-1.4.3-setup.exe』をダウンロードしました。
インストールが終了したら、コンソールで以下のコマンドを実行し、正常に行われたかどうか確認します。
2.リポジトリの作成
リポジトリとは、SVNがバージョン管理を行う為のデータベースのようなものです。
ここで作成したディレクトリをSVNのリポジトリとして認識させる事によって、バージョン管理に必要な
ファイルが自動的に作成され、SVNによってバージョン管理されるようになります。
(1)ディレクトリを作成
(2)リポジトリとして認識させる
3.プロジェクトの作成
SVNに管理させていプロジェクトを作成します。SVNではリポジトリ配下のリソースの全てを単なるディレクトリ or ファイル
として管理するため、リポジトリ配下で管理されているリソースがプロジェクトかどうかは、ユーザの認識による事になります。
(1)管理させたいディレクトリを作成
trunk,branches,tagsはプロジェクト管理の便宜上、一般的に作成するディレクトリです。(必須ではありません)
(2)リポジトリへインポート
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』をダウンロードし、実行します。
ちなみに今回インストールしたsvnのバージョンがApache2のv2.0.58でコンパイルされている為、
今回は、『apache_2.0.58-win32-x86-no_ssl.msi』をダウンロードしました。
2.モジュールの追加
(1)モジュールのコピー
以下のファイルをAPACHE_HOME/modulesにコピーします。
以下のファイルをAPACHE_HOMEにコピーします。
(2)LoadModuleの設定
『httpd.conf』に以下の記述を追加し、モジュールがロードされるように設定します。
今回は「mod_dav.so」の記述は、既にコメントアウトされていたので、有効にしました。
※ 「mod_dav.so」の方を先にロードしなければならない為、記述の順序に注意。
(3)<Location>の設定
この時点でhttp経由でSVNリポジトリへアクセス可能となります。
3.アクセス認証の設定
今回はBASIC認証を設定します。
(1)パスワードファイルの作成
APACHE_HOME/binディレクトリに移動し、以下の『htpasswd』ツールを実行します。
(2)『httpd.conf』の設定
先ほどの<Location>要素に以下の記述を追加します。
Apacheを再起動後、BASIC認証でSVNリポジトリへアクセス出来るようになります。
■参考サイト
バージョン管理システムの1つSubversionのサーバ構築の手順をまとめました。
SVNリポジトリへのアクセス認証はBASIC認証の設定までです。
■環境
OperationSystem | Microsoft Windows 2000 Professional SP4 |
Subversion | Subversion for Win32 version 1.4.3 |
Apache HTTP Server | Apache HTTP Server version 2.0.58 |
■SVNの設定
1.インストール
以下のサイトから『svn-x.x.x-setup.exe』をダウンロードし実行します。
今回は『svn-1.4.3-setup.exe』をダウンロードしました。
- SUBVERSIONプロジェクト
- ダウンロード場所
インストールが終了したら、コンソールで以下のコマンドを実行し、正常に行われたかどうか確認します。
svn --versionsvnコマンドを受け付けないようであれば、インストールに失敗しているか、PATH環境変数を見直しましょう。
2.リポジトリの作成
リポジトリとは、SVNがバージョン管理を行う為のデータベースのようなものです。
ここで作成したディレクトリをSVNのリポジトリとして認識させる事によって、バージョン管理に必要な
ファイルが自動的に作成され、SVNによってバージョン管理されるようになります。
(1)ディレクトリを作成
mkdir C:\svn\repo
(2)リポジトリとして認識させる
svnadmin create C:\svn\reposvnadminを実行すると指定したディレクトリ配下に、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
- ダウンロード場所
ちなみに今回インストールした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によるバージョン管理
2007年04月16日(月) 16:48:04 Modified by mr_makochi