1.redhat上安装cvs:
redhat 上自带了cvs,可以用rpm -q | grep cvs,的是删除后重新以编译源码方式安装的.删除rpm -e cvs包名;
下载cvs源码文件:http://www.cvshome.org
tar -xzvf cvs-1.11.15.tar.gz
cd cvs-1.11.15
./configure --prefix=/usr/local/cvs
make
make install
至此安装完成
2.配置cvs服务
说明:cvs服务只能通过xinted来启动。相关配置如下:
2.1 先增加相应的用户组和用户
groupadd cvs
useradd -g cvs -d /home/cvs cvs
passwd cvs(设置密码为111111)
chmod 775 /home/cvs
2.2 修改/etc/service
vi /etc/service
增加两行:
cvspserver 2401/tcp
cvspserver 2401/udp
2.3 修改xinted.d服务,以下的相关操作都是在redhat9里面完成
cd /etc/xinted.d
vi cvspserver(说明cvspserve名称为service增加的服务名称)
service cvspserver
{
port=2401
socket_type=stream
protocol=tcp
wait=no
user=root
passenv=PATH
server=/usr/local/cvs/bin/cvs
server_args=-f --allow-root=/home/cvs pserver
}
2.4 初始化cvs服务器及用户管理
/usr/local/cvs/bin/cvs -d /home/cvs init
这个时候 /home/cvs下面会新出一个目录/home/cvs/CVSROOT
新建cvs登陆用户.该用户可以通过cvs客户端登陆到cvs服务器,我这里采用的时在cvs服务器里增加一些登陆用户,这些用户与redhat
系统用户没有如何关系,新增用户本身很简单,唯一要注意的是用户密码生成(密码是加密的)。先用一段shell程序生成密码,然后写到
cvs配置文件。
生成密码的shell script如下:
cd /home/cvs
vi passwdgen.pl
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}/n";
生成密码
./passwdgen.pl 111111
NbcUcaU7UoObs
打印出的结果即为配置文件中记录的密码。现在可以新增用户了
vi /home/cvs/CVSROOT/passwd
usertest:NbcUcaU7UoObs:cvs
2.5系统基本配置完成,现在开始测试服务器是否能够正常工作
/etc/rc.d/init.d/xinted restart
netstat -l | grep cvspserver
如果结果为
tcp 0 0 *:cvspserver *:* LISTEN
则表示cvs服务启动正常,如果没有正常启动,主要原因是因为/etc/xinted.d/cvspserver文件内容有问题,可以修改一下再测试
测试是否能够正常登陆
cvs -d:pserver:[email protected]:/home/cvs login
如果执行该命令的时候没有任何提示表示已经可以登陆到cvs服务器了
2.6在cvs中新建一个项目
export CVSROOT=/home/cvs
比如说项目文件在/usr/local/mis
cd /usr/local/mis
/usr/local/cvs/bin/cvs import -m "this is a mis system" mis version_1 start
如果正常的话cvs会在home/cvs目录下建一个mis目录。
需要将该目录的属主改cvs,客户端才能下载
chown -R cvs /home/cvs/mis