2008/08/22

cvsサーバの構築

1. CVSユーザを作成する。
# /usr/sbin/adduser cvs


2. cvspserverの確認
# grep cvspserver /etc/services
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
上記がない場合は追加する。

3.レポジトリ (CVSROOTとなるディレクトリ)の作成
CVSROOTを/home/cvs/masterとする場合の作成方法は以下のとおり
# su cvs
cvs$ cd /home/cvs
cvs$ mkdir master
cvs$ cd /home/cvs/master
cvs$ cvs -d /home/cvs/master init
※/home/cvs/master 配下にCVSROOTディレクトリが作成される。

4. cvsにアクセスするユーザの作成
pserver経由でcvsにアクセスする際は、
cvsにアクセスするユーザを登録するには、
  • Linux上のユーザを使用する(/etc/passwd で認証)
  • CVSアクセス専用のアカウントで管理する($CVSROOT/CVSROOT/passwd での認証)
2つの方法がある。
前者は、CVSでアクセスするすべてのユーザを適当なグループに入れておき、
リポジトリはそのグループ全員が読み書きできるようにしておく必要があるため面倒。

このため、「CVSアクセス専用のアカウントで管理する」方法でユーザを作成する。
/home/cvs/master/CVSROOT/passwdファイルに以下の形式で記載する。
user:passwd:access
  • user:ユーザ名
  • passwd:パスワード
  • access:指定したユーザ権限でのアクセスとなる。(省略可)

パスワードファイルの作成には、
Apacheに含まれる「htpasswd」プログラムを利用する。
cvs$ cd /home/cvs/master/CVSROOT
cvs$ htpasswd -c passwd [user]
※初回のみ"-c"オプション(Create)をつける。
※accessは必要に応じてエディタで追加する。

5. CVSサービスの起動
/etc/xinetd.d/cvs を開き設定内容にあわせて修正する。
service cvspserver
{
disable = no
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
env = HOME =/home/cvs/master
server_args = --allow-root=/home/cvs/master pserver -f
# bind = 127.0.0.1
}

cvsサービスはスーパデーモンであるxinetdサービスから起動されるため、
xinetdを再起動する。
# /etc/rc.d/init.d/xinetd restart

ちゃんと起動しているかどうかは、
# netstat -an | grep 2401

でcvspserverのポート2401のステータスがLISTENになっていればOK。

0 件のコメント: