Subversionをインストール。

会社ではソース管理にSubversionを使ってるので、自宅でもまじめにやろうと思い、自宅サーバ(Fedora Core 4)にインストールしてみる。忘れないようにインストール手順と各種設定方法をめもめも。

Subversionのインストール

% sudo yum install subversion

svn+sshを使ってリポジトリに接続するので、svnserveの設定をしておきます。今回はxinetd経由で起動するように設定します。

svnserve用のユーザを作成

# adduser svn
# passwd svn

リポジトリsvnユーザのホームディレクトリ直下(/home/svn)に置くことにします。

xinetdの設定は、/etc/xinetd.d/svnserveに以下のように設定しました。

service svnserve
{
    disable         = no
    socket_type     = stream
    wait            = no
    user            = svn
    server          = /usr/bin/svnserve
    server_args     = -i -r /home/svn
    log_on_failure  += USERID
}

xinetdに設定ファイルを再読み込みさせる

# ps aux |grep xinetd
root     29767  0.0  0.1   3124   920 ?        Ss   02:21   0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid
# kill -HUP 29767

サービス名と使用ポート番号を/etc/servicesに追加する

svnserve             3690/tcp                        # Subversion
svnserve             3690/udp                        # Subversion

svnserveを起動するように設定する

# chkconfig --add svnserve

xinetdを再起動する

# service xinetd restart

グループ管理(svnグループ)でリポジトリへのアクセス制限をするので、リポジトリにアクセスさせたいユーザを以下のコマンドで追加

# gpasswd -a USER

リポジトリを作成する。/home/svn/reposにリポジトリを作成します。svnグループの読み書きが出来るように設定。

# su - svn
% svnadmin create /home/svn/repos
% chmod -R g+rw /home/svn/repos/

リポジトリの認証設定。公開鍵認証でのアクセスとなるので、/home/svn/repos/conf/svnserve.confを以下のようにしました。

[general]
anon-access = none   # 匿名ユーザは許可しない
auth-access = write  # 認証されたユーザにRead/Writeを許可
realm = Test Repository

ここまででサーバ上の基本的な設定は終わりです。あとはauto-props設定とかやっておくと素敵です。

今回のインストールで参考にしたのはこちらです。http://smdn.invisiblefulmoon.net/index.php?cmd=read&page=Linux%2FFedora%20Core%2FSubversion

「Subversion」解説書 <バージョン管理システム> Linux world favorite series

「Subversion」解説書 <バージョン管理システム> Linux world favorite series

Subversion実践入門?達人プログラマに学ぶバージョン管理

Subversion実践入門?達人プログラマに学ぶバージョン管理