(最終更新日時:2008-12-28 20:58:28)
バージョン管理システム Subversion の運用設定を行います。
初期設定
subversion用グループとsubversionのルートディレクトリを作成します。
# groupadd svn
# mkdir -p /home/svn
# vi /etc/ssh/sshd_config
:
AllowGroups svn SSHの接続グループに svn を追加します
:
# service sshd restart SSHデーモンを再起動します
リポジトリの作成
プロジェクトのリポジトリとログインユーザーを作成します。
管理およびセキュア面からプロジェクトの参加メンバーごとにログインユーザーを作成せず、プロジェクト単位にログインユーザーを作成しています。
参加メンバーは OpenSSH の tunnel 機能で識別させます。
(※プロジェクト名およびログインユーザーを project1 としています)
# svnadmin create --fs-type fsfs /home/svn/project1
# useradd project1 -M -g svn -d /home/svn/project1
# chown -R project1.svn /home/svn/project1
# chmod -R 770 /home/svn/project1
# chmod 710 /home/svn/project1
# chmod g+s /home/svn/project1/db
# su - project1
$ mkdir -p svntemp/trunk svntemp/branches svntemp/tags
$ svn import svntemp file://localhost/home/svn/project1 -m "Create the Initial Directory"
$ rm -rf svntemp
$ exit
参加メンバー登録
プロジェクトの参加メンバーごとに OpenSSH の鍵セットを作成します。
(※参加メンバを member1 としています)
# su - project1
$ ssh-keygen -b 1024 -t dsa -C "Subversion Project - project1 : member1"
Generating public/private dsa key pair.
Enter file in which to save the key (/home/svn/project1/.ssh/id_dsa): [Enter]
Created directory '/home/svn/project1/.ssh'.
Enter passphrase (empty for no passphrase): パスフレーズ
Enter same passphrase again: パスフレーズ再入力
:
$ cd .ssh
$ vi id_dsa.pub
(以下を ssh-dss の前に付け加えます)
(tunnel-user オプションを指定することにより、Subversion のユーザー名は参加メンバーになります)
(サーバーのディレクトリ構成を秘匿するため -r オプションをフルパスで指定してします)
command="svnserve -t --tunnel-user=member1 -r /home/svn/project1",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss ~
$ cat id_dsa.pub >> authorized_keys
$ rm id_dsa.pub
$ exit
(※ /home/svn/project1/.ssh/id_dsa を 参加メンバ member1 へ配布します)
(※ ログインユーザ名 project1 と member1 のパスフレーズ を併せて通知します)
# rm /home/svn/project1/.ssh/id_dsa 配布後、削除します
Copyright © 2004-2009 System House ACT. All Rights Reserved.