Subversionインストールログ

※今回の手順はApacheと連携しない場合のやりかた。
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74
より、subversion-1.4.3.tar.gzとsubversion-deps-1.4.3.tar.gzをダウンロード。
サーバ上の/usr/local/src にアップロード。

# cd /usr/local/src
# tar zxvf subversion-1.4.3.tar.gz
# tar zxvf subversion-deps-1.4.3.tar.gz
# cd subversion-1.4.3
# ./configure
# make
# make install

■リポジトリの初期化

# mkdir /usr/local/svn ←名前と場所はどこでもいい
# mkdir /usr/local/svn/repos
# svnadmin create /usr/local/svn/repos

■リポジトリへのアクセス設定
アノニマスユーザのアクセスを禁止する。

# cd /usr/local/svn/repos/conf
# vi svnserv.conf
以下のように修正。
anon-access = none
auth-access = write
password-db = passwd

次にパスワードを設定。

# vi passwd
内容を以下のようにする
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
tappe = tappepass

■svnserveの設定
/etc/xinetd.d配下にsvnserveというファイルを作成し、
下記のような内容を書き込む。

# default: off
# description: A SVN pserver.
service svnserve
{
       disable         = no
       socket_type     = stream
       protocol        = tcp
       wait            = no
       user            = root
       server          = /usr/local/bin/svnserve
       server_args     = -i -r /usr/local/svn/repos
}

設定項目の意味は次の通り。
user
svnserveを実行するユーザ。
server
svnserveへのフルパス。
server_args
svnserveに渡す引数。 「-r /usr/local/svn/repos」でリポジトリのルートディレクトリを/usr/local/svn/repos に設定している。
/etc/services に下記の内容を追加

               :
               :
            (中略)
svnserve             3690/tcp                        # Subversion
svnserve             3690/udp                        # Subversion
               :
               :

ここで、ipchainsなどで3690番ポートに制限がかかっている場合は、
忘れずにポートの開放を行うこと。
続いてchkconfigの設定を行う。

# chkconfig --add svnserve

設定が反映されているか確認。

# chkconfig --list svnserve

オンになっていればOK。
xinetdを再起動して変更を反映する。

# service xinetd restart

■接続テスト
Windows端末からtelnetを実行し、

# telnet サーバIP 3690
Trying サーバIP...
Connected to サーバIP.
Escape character is '^]'.
( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline ) ) )

となれば成功。
■TortoiseSVNからの接続テスト
リポジトリURLとして
svn://サーバIP:3690/usr/local/svn/repos/
を指定し、先ほどのpasswdファイルで設定したユーザ名とパスワードを
入力すればOK。

例:tappeの場合
ユーザ名:tappe
パスワード:tappepass

「認証を保存」をチェックしておけば、次回からは聞かれないので楽。
■参考記事
Subversionによるバージョン管理
xinetd経由でsvnserveを起動する場合の設定
LinuxHomeServerMemo

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です