分类: LINUX
2008-04-21 15:28:49
CVS的搭建
一、Cvs服务器的配置
1.查看系统中是否装有CVS:
rpm –qa | grep cvs
我用的是tar包安装的,版本是cvs-
#./configure –prefix= /usr/local/cvs/bin/cvs
# make
# make install
2.建立cvs的用户组
# groupadd cvs
3.建立cvs组的cvsroot用户和所属的目录:
# useradd -g cvs -G cvs –d /cvsroot cvsroot
4.为cvsroot用户添加密码:
# passwd cvsroot
5.改变 /cvsroot/ 的目录属性:
# chmod –R 770 /cvsroot
此处,最好能给777的权限。
6.查看配置文件
#cat /etc/services |grep cvspserver
查看是否有以下服务,如果没有,自己加上去。
cvspserver 2401/tcp #CVS client/server operations
cvspserver 2401/udp #CVS client/server operations
7.创建cvs服务启动脚本,使用xinetd的方式:
# cd /etc/xinetd.d
# vi cvspserver
service cvspserver
{
disable = no
socket_type = stream
wait = no
user = root
env = HOME=
server = /usr/local/cvs/bin/cvs
server_args = -f --allow-root=/kvm/cvsroot pserver
}
server 指定CVS可执行文件路径,默认安装就是/usr/bin/cvs,我自己的指定了路径,安装在了/usr/local/cvs/bin/cvs下面;
pserver 密码认证方式,客户端使用时有此选择。
注意:上面文件每行等号左右都有一个空格,否则无法启动服务而且没有明确的错误信息
8.改变用户登陆身份:
# su cvsroot
9.开始建立仓库:
$ cvs –d /kvm/cvsroot init
$ chmod –R 775 /kvm/cvsroot
注:
(1)在这一处,你可以建立自己的单个项目,然后对单个项目进行建立仓库,方法一样,我的没有建项目,直接做的。
(2)在做完仓库后,会在/kvm/cvsroot下面,自动生成一个大写的CVSROOT的文件夹,如果没有创建出来,说明前面的工作做的不好,哈哈!
10.启动cvs服务:
Service xinetd start 或者 /etc/init.d/xinetd start
11.检查cvspserver服务是否已经启动:
# netstat -l |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN
# netstat -an |grep 2401
应该有如下结果:
tcp 0 0
12.登录
cvs -d :pserver:cvsroot@localhost:/cvsroot login
输入正确密码,如果没有出现其它的提示就表示登录成功。
二、Cvs服务的用户建立
13.创建普通的用户和密码
# su cvsroot
$ vi /kvm/cvsroot/CVSROOT/passwd
nibj:******:cvsroot
test:******:cvsroot
14.*****为密码,由以下配置文件生成:
$ vi /kvm/cvsroot/passwd.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";
保存后退出,给相应的权限:
$ chmod a+x /kvm/cvsroot/passwd.pl
15.生成一个你想要的密码,如:“
$ /cvsroot/passwd.pl “
回车即可得到加密密码,用其替换passwd文件中的*****
16.Ok,cvs现在已经全部安装完成了,如果你想让一个用户拥有多个项目的权限,你就在/kvm/cvsroot/project1/CVSROOT/passwd中给他加入一个用户;如果你想让一个用户同时具有project1和project2的权限,你就给/kvm/cvsroot/project1/CVSROOT/passwd和/cvsroot/project2/CVSROOT/passwd里给他加一个用户名和密码相同的用户即可。最后,我们试用一下:
#> cvs -d :pserver:test@192.168.3.133:/kvm/cvsroot login
敲入命令回车后提示输入test的密码,你按照自己设置的密码输入, 输入密码后,没有收到任何消息,即表示成功(我的服务器的IP地址是:192.168.3.133)。
附: (1)
增加系统方面的变量:
[nibj@localhost ~]$ su - cvsroot
Password:
[cvsroot@localhost ~]$ ls –la
[cvsroot@localhost ~]$ vi .bash_profile
添加以下的两行就可以了:
PATH=$PATH:$HOME/bin:/usr/local/cvs/bin
export CVSROOT=:pserver:192.168.3.133:/kvm/cvsroot
下次在登入的时候,就可以直接用cvs login登入了。
(2)
在客户端,安装相应的wincvs软件,做一些相应的设置就可以了。