HAYAGUI

CVS 環境構築

はじめに

CVS の環境を構築してみます。 サーバは chaco の FreeBSD 4.4 R 、CVS はデフォルトでインストールされる Ver 1.11 です。
> cvs -v

Concurrent Versions System (CVS) 1.11 (client/server)

Copyright (c) 1989-2000 Brian Berliner, david d `zoo' zuhn,
                        Jeff Polk, and other authors

CVS may be copied only under the terms of the GNU General Public License,
a copy of which can be found with the CVS distribution kit.

Specify the --help option for further information about CVS

全体の構成を考える

環境を構築する前に、全体の構成を考えてみます。

CVSサーバOS FreeBSD 4.4 R
cvsサーバのIPAddress 192.168.0.5
クライアントOS Windows2000SP2
CVSクライアントソフトウェア WinCVS 1.20 http://ccvs.cvshome.org/servlets/ProjectHome
エディタ 秀丸 http://hidemaru.xaxon.co.jp/
ファイル比較ソフトウェア ExamDiff http://www.prestosoft.com/examdiff/examdiff.htm
ファイル変更ユーザ kenz(FreeBSD登録ユーザ)
hoge(FreeBSD登録ユーザ)
abc(FreeBSD非登録ユーザ)
ファイル変更ユーザが属するグループ dev1g
FreeBSD cvsroot ディレクトリ /usr/home/cvsroot
Windowsの作業ディレクトリ c:\develop
WinCVSに登録するホームディレクトリ c:\develop
マスターファイル格納ディレクトリ c:\work\project1
cvs管理下に置くファイル c:\work\project1\hello.c

サーバの設定

FreeBSD 4.4 R にログインして、root になって作業します。

service に pserver を登録します。/etc/service を vi で開いて、

chaco# pwd
/etc
chaco# vi services
以下の行が有効になっていることを確認します。
cvspserver      2401/tcp   #CVS network server
cvspserver      2401/udp   #CVS network server

次に、/etc/inetd.conf を vi で開いて、

chaco# pwd
/etc
chaco# vi inetd.conf
以下の行の先頭にある # を削除して、cvsroot のディレクトリを変更します。
cvspserver      stream  tcp     nowait  root    /usr/bin/cvs    cvs --allow-root
=/usr/home/cvsroot pserver
保存したら、反映させましょう。
chaco# kill -HUP `cat /var/run/inetd.pid`

グループとユーザとcvsrootディレクトリの追加

cvsroot ディレクトリとそのディレクトリに対してアクセス可能なユーザとグループを作成します。

/etc/group を vi で開いて、

chaco# pwd
/etc
chaco# vi group
グループを作成します。このグループには、kenz と hoge を入れます。(kenz,hoge は、すでにユーザ追加済みとする。)
dev1g:*:3000:kenz,hoge

/usr/home ディレクトリに、cvsroot ディレクトリを作成します。

chaco# pwd
/usr/home
chaco# mkdir cvsroot
chaco# ls -la cvsroot
total 2
drwxr-xr-x   2 root  wheel  512   3/10 15:09 .
drwxr-xr-x  16 root  wheel  512   3/10 15:09 ..
cvsroot ディレクトリのグループを dev1g に変更します。
chaco# chgrp dev1g cvsroot
chaco# ls -la cvsroot
total 2
drwxr-xr-x   2 root  dev1g  512   3/10 15:09 .
drwxr-xr-x  16 root  wheel  512   3/10 15:09 ..
このディレクトリのパーミッションを、グループメンバは変更可能に変更します。
chaco# chmod 774 cvsroot
chaco# ls -la cvsroot
total 2
drwxrwxr--   2 root  dev1g  512   3/10 15:09 .
drwxr-xr-x  16 root  wheel  512   3/10 15:09 ..

CVSパスワードの作成

CVSサーバにログインできるユーザを設定し、パスワードを作成します。 「CVSサーバにログインする」と「CVSがインストールされているサーバにログインする」は違います。 後者はFreeBSDのアカウントが必要ですが、前者はFreeBSDのアカウントが無くても他のアカウントを持つユーザでログイン可能です。

cvsroot ディレクトリの下に、CVSROOT ディレクトリを作成します。

chaco# cd cvsroot
chaco# mkdir CVSROOT
パスワードを生成させる /usr/local/bin/htpasswd があることを確認します。
chaco# cd /usr/local/bin
chaco# pwd
/usr/local/bin
chaco# ls -la htpasswd
-rwxr-xr-x  1 root  wheel  27624   9/14 03:58 htpasswd
chaco#
/usr/home/cvsroot/CVSROOT ディレクトリで、htpasswd を実行して、パスワードファイルを作成します。 新規に passwd ファイルを作成しますので、-c オプションをつけます。 kenz というユーザのパスワードを作成する場合は、以下のとおり。UNIX のパスワードと同じように2回入力します。
chaco# cd /usr/home/cvsroot/CVSROOT
chaco# pwd
/usr/home/cvsroot/CVSROOT
chaco# /usr/local/bin/htpasswd -c passwd kenz
New password:
Re-type new password:
Adding password for user kenz
次に、hoge というユーザのパスワードを作成します。今度は passwd ファイルを新規に作成しないので、 -c は必要ありません。
chaco# /usr/local/bin/htpasswd passwd hoge
New password:
Re-type new password:
Adding password for user hoge
作成された passwd ファイルは、以下のようになっています。形式は、「ユーザ:暗号」です。
chaco#
chaco# cat passwd
kenz:HT8pFL6hcFBFo
hoge:XuRO/CRkm9rnA
chaco#
次に CVS にログインするユーザ名を追加します。vi で passwd を開きます。
chaco# vi passwd
ユーザ名の最後に CVS でログインするユーザ名を追加します。このユーザ名で CVSサーバ にログインすることになります。 サーバのアカウントを持たないユーザ(abc)でもアカウントを持つユーザ(kenz)になりきってログインすることができます。
kenz:HT8pFL6hcFBFo:kenz
hoge:XuRO/CRkm9rnA:hoge
abc:HT8pFL6hcFBFo:kenz
これで、CVSの環境構築は終わり。 続いて、「WinCVSの環境設定」
戻る



(C)1999 - 2002 Kenji Ito All rights reserved.