1。下载源码
到http://www.cvshome.org去下载cvs源码,最新版是1.11.21,找到其主ftp服务器http://ftp.gnu.org/non-gnu/cvs/,下载稳定版源码。
2。解压编译安装
tar -zxvf cvs-1.11.21.tar.tar
cd cvs-*
./configure
make
make install
3。配置CVS用户
增加一个用户cvsroot,主目录为/home/cvsroot,主组为cvsroot,用于做为cvs数据库存放目录和权限
管理者。
其他新增用户和老用户,应属于cvsroot组。示例加入zhouhh和test两个用户。将其加入到cvsroot组。
/home/cvsroot目录的属性为770。并在组中加入粘滞标志,即无论谁在该目录下创建的目录,都是
cvsroot组的。
chmod g+s /home/cvsroot
如果不做这一步,会导致其他用户检出数据时无权限。
4。配置服务
进入/etc/xinetd.d目录,建立cvspserver文件如下:
# description: cvs server.
service cvspserver
{
disable = no
socket_type = stream
protocol = tcp
user = root
wait = no
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_success +=USERID
log_on_failure += USERID
}
若要建不同的库需配不同的服务和目录及端口。
5。检查/etc/services文件,是否有
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
没有就增加这两行
6。编辑配置文件
先去掉/etc/profile的只读属性
vi /etc/profile
找到
USER='id -un'
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
在后面追加
CVSROOT=":pserver:[email protected]:/home/cvsroot"
将IP换成真实的IP地址。
找到
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
在行尾追加 CVSROOT
保存退出。
7。以cvsroot身份初始化cvs服务
su cvsroot
cvs -d /home/cvsroot init
8。配置cvs服务的锁:
应将check out的文件锁放到所有用户都能读写的目录下,否则会引起别的用户不能check out文件。
cd /home/cvsroot/CVSROOT
chmod +w config
vi config
找到
#LockDir=/var/lock/cvs
将注释去掉保存。
cd /var/lock
mkdir cvs
chmod 777 cvs
9。重启服务:
service xinetd restart
10。测试
以zhouhh登录
echo $CVSROOT
看是否为正确的值。
cvs login
输入Linux用户zhouhh的密码。
新建一个目录test,进入test,新建文件test.cpp:
#include <iostream>
using namespace std;
int main()
{
cout<<"hello world by zhouhh"<<endl;
}
保存后,将其提交到cvs
cvs import -m "import test to cvs by zhouhh" test zhouhh rev_0_0_1
如果提交成功,则可以将test目录移走再检出。
mv test test.bak
cvs co test
如果成功则证明cvs服务器基本可用了。
再换用户测试。
本过程在Redhat Enterprise Linux 4.0 服务器上测试通过。
======================================================
作者:周海汉 2006.4
欢迎访问我的个人日志:http://spaces.msn.com/ablozhou