CentOS5.5にSubversionをセットアップする

Redmineリポジトリはどれにしようか迷いましたが、

  • Windowsでも扱いやすい
  • 1.7系ではGitのような特徴を持つ*1

とのことで、Subversionにすることにしました。

以下は構築のためのメモです。

CentOSのセットアップ

以前に記載した通りにCentOSをセットアップしておきます。(Apacheもインストールされます)

 

Apache自動起動

OSブート時にApache自動起動するように設定します。

# /sbin/chkconfig httpd on

 

Apache自動起動確認

ランレベル2,3,4,5で起動することを確認します。

# /sbin/chkconfig --list httpd

 

Subversionのインストール

最新バージョンをインストールします。

# yum install subversion

 

リポジトリ格納用ディレクトリの作成
# mkdir /var/lib/svn

 

リポジトリの作成

Subversionで実際に利用するリポジトリを作成します。

# svnadmin create /var/lib/svn/<リポジトリ名>

 

リポジトリのアクセス権変更

Apacheで動作させるため、アクセス権を変更します。

# chown -R apache:apache /var/lib/svn/<リポジトリ名>

 

リポジトリ作成確認

実際にリポジトリが作成されているか確認します。

# ls -l /var/lib/svn/<リポジトリ名>

 

Apache用モジュールのインストール
# yum install mod_dav_svn

 

httpd.confの修正

Apacheで動作させるために、httpd.confの一番下に以下を追加(/etc/httpd/conf/httpd.conf)。

なお、Subversionの全ディレクトリをApacheで動作させるため、以下の設定とします。

<Location /svn>
  DAV svn
  SVNParentPath /var/lib/svn
</Location>

設定を追加したら、再起動します。 

 

ブラウザアクセス確認

以下のアドレスを入力し、Subversionの画面が表示されるか確認する。

http://<ホストのIPアドレス>/svn/<リポジトリ名>

 

パスワードファイルの作成

Basic認証はパスワードファイルにて行うため、ファイルを作成する。

# touch /etc/httpd/conf/<ファイル名>

 

ユーザの作成(メンバー用とRedmine

メンバー用とRedmine用の2ユーザを作成します。なお、作成時には2度パスワードを入力します。

# htpasswd /etc/httpd/conf/<ファイル名> <ユーザ名>

 

Basic認証の設定追加

httpd.confファイルに認証の設定を追加します。

<Location /svn>
  DAV svn
  SVNParentPath /var/lib/svn
  <span style="font-weight:bold;">AuthType Basic
  <span style="font-weight:bold;">AuthName "svn repository"</span>
  <span style="font-weight:bold;">AuthUserFile /etc/httpd/conf/<ファイル名></span>
  <span style="font-weight:bold;">Require valid-user</span></span>
</Location>

設定を追加したら再起動します。

 

認証の確認

再度Subversionのディレクトリへとアクセスし、認証が求められることを確認します。