CVS後継のバージョン管理システムSubversionをインストールする方法

Vine Evo / Subversion hacks

Subversionのインストール

AGL's Gamers Labo / ProEvo / Vine Evo / Subversion hacks / Subversionのインストール

Vine Linuxにバージョン管理システムSubversionをインストールする方法


1. Subversionのインストール

1.1 Subversionをインストールする

Vine LinuxではSubversionがパッケージで提供されています。そのためaptを使ってインストールすることができます。
次の手順で、Subversionをインストールします。

  1. rootでagarthaにログインします。
    [atsushifx@agartha atsushifx]$ su
    パスワード(P): ********
    [root@agartha atsushifx]# 
  2. aptを使ってSubversionをインストールします。
    
    [root@agartha atsushifx]# apt-get install Subversion
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了
    以下の追加パッケージがインストールされます:
      apr apr-util
    以下のパッケージが新たにインストールされます:
      apr apr-util Subversion
    アップグレード: 0 個, 新規インストール: 3 個, 削除: 0 個, 保留: 7 個
    1595kB のアーカイブを取得する必要があります。
    展開後に 4455kB のディスク容量が追加消費されます。
    続行しますか? [Y/n]y
    取得:1 http://updates.vinelinux.org 4.0/i386/main apr 1.2.7-0vl1 [114kB]
    取得:2 http://updates.vinelinux.org 4.0/i386/main apr-util 1.2.7-0vl2 [66.0kB]
    取得:3 http://updates.vinelinux.org 4.0/i386/plus Subversion 1.3.2-0vl1 [1414kB]
    1595kB を 4s 秒で取得しました (362kB/s)
    変更を適用しています...
    準備中...                   ########################################### [100%]
       1:apr                    ########################################### [ 33%]
       2:apr-util               ########################################### [ 67%]
       3:Subversion             ########################################### [100%]
    完了
    [root@agartha atsushifx]# 

以上で、Subversionのインストールは終了です。

2. Subversionの初期設定

2.1 ラップスクリプトを作成する

Subversionをグループで使う場合、グループでの書き込みができる必要があります。このためにはコマンド実行時にumaskを002にする必要があります。
そこでSubversionの各コマンドをラップするスクリプトを作成時umask 002をしてからSubversionコマンドを実行するようにします。

たとえば、Subversionの基本コマンドであるsvnコマンドはつぎのようになります。

  1. suでrootになります。
    
    [atsushifx@agartha atsushifx]$ su
    パスワード(P): *****
    [root@agartha atsushifx]# 
  2. /usr/binにディレクトリを変更します。
    
    [root@agartha atsushifx]# cd /usr/bin
    [root@agartha bin]# 
  3. svnコマンドのファイル名を変更します。
    
    [root@agartha bin]# mv svn svn-real
    [root@agartha bin]# 
  4. 以下のようなラップスクリプトを作成し、変更したsvnの代わりとします。
    /usr/bin/svn
    #!/bin/sh
    umask 002
    /usr/bin/svn-real "$@"
  5. 同様にしてsvnserve, svnadminコマンドをスクリプト経由にします。

以上で、ラップスクリプトの作成は終了です。

2.2 グループとユーザを追加する

Subversionではリポジトリを指定したディレクトリに作成します。そこでSubversion用に専用のグループとユーザーを追加します。

次の手順で、グループとユーザーを追加します。

  1. suでrootになります。
    
    [atsushifx@agartha atsushifx]$ su
    パスワード(P): *****
    [root@agartha atsushifx]# 
  2. groupaddコマンドでグループsvnを追加します。
    
    [root@agartha atsushifx]# /usr/sbin/groupadd -g 302 svn
    [root@agartha atsushifx]# 
  3. useraddコマンドでユーザーsvnを追加します。
    
    [root@agartha atsushifx]# /usr/sbin/useradd -g svn 302 svn<
    [root@agartha atsushifx]# 
  4. ユーザー svnのパスワードを設定します。
    
    [root@agartha atsushifx]# passwd svn
    Changing password for user svn.
    New password: *****
    Retype new password: *****
    passwd: all authentication tokens updated successfully.
    [root@agartha atsushifx]# 
  5. vipwコマンドでhomeディレクトリを変更します。
    
    [root@agartha atsushifx]# /usr/sbin/vipw
    [root@agartha atsushifx]# 
    変更後は以下のようになります。
    28:svn:x:302:302::/var/svn:/bin/bash
  6. 仮のhomeを削除します。
    
    [root@agartha atsushifx]# rm -fr /home/svn
    [root@agartha atsushifx]# 

以上で、グループとユーザーの追加は完了です。

2.3 リポジトリ用ディレクトリを作成する

Subversionでは指定したディレクトリをリポジトリとして使用してデータベースファイルを作成します。
次のようにしてリポジトリ用ディレクトリを作成します。

  1. suでrootになります。
    
    [atsushifx@agartha atsushifx]$ su
    パスワード(P): *****
    [root@agartha atsushifx]# 
  2. umaskを変更します。
    
    [root@agartha atsushifx]# umask 002
    [root@agartha atsushifx]# 
  3. リポジトリ用ディレクトリ/var/svnを作成します。
    
    [root@agartha atsushifx]# mkdir /var/svn
    [root@agartha atsushifx]# 
  4. リポジトリ用ディレクトリのownerを変更します。
    
    [root@agartha atsushifx]# chown svn:svn /var/svn
    [root@agartha atsushifx]# 
  5. ディレクトリにsuidビットをたてます。
    
    [root@agartha atsushifx]# chmod g+s /var/svn
    [root@agartha atsushifx]# 

以上で、リポジトリ用ディレクトリの作成は終了です。

2.4 リポジトリを作成する

作成したリポジトリ用ディレクトリにリポジトリを作成します。
次の手順で、リポジトリを作成します。

  1. suでSubversion用ユーザーsvnになります。
    
    [atsushifx@agartha atsushifx]$ su svn
    パスワード(P): *****
    bash-2.05b$ 
  2. svnadminコマンドを実行してリポジトリを作成します。
    
    bash-2.05b$ svnadmin create /var/svn
    bash-2.05b$ 

以上で、リポジトリの作成は終了です。

AMAZON



$Revision: 2 $
$Date: 2007-02-28 23:35:40 +0900 (水, 28 2月 2007) $