Linux环境下轻松搭建CVS服务器

CVS是一种广泛应用的、开源的、透明于网络的版本控制系统。用户使用CVS时,首先要架设一台CVS服务器,在CVS服务器上导入项目实例、设置CVS项目访问控制等。而客户则通过客户端来访问CVS服务器,客户可以取得项目最新代码副本,提交自己修改的代码等,而客户可以从InternetLAN甚至本机来访问CVS服务器。下面,我就带领大家在Linux环境下架设一台CVS服务器,希望能够对想要学习CVS服务器架设的朋友带来一些帮助。   

1、下载源码   通过搜索引擎找到CVS的源代码包,也可以从CVS的官方网站cvshome.org上寻找,由于CVS历史上也出现过一些安全漏洞,所以建议要定期去其官方网站上看看有没有最新版本推出。   

2、编译安装   

[root@terry src]# tar -xjpvf cvs-1.12.5.tar.bz2   

[root@terry src]# cd cvs-1.12.5   

[root@terry cvs-1.12.5]# ./configure ——prefix=/usr/local/terry_yu/cvs   

——disable-server-flow-control   

[root@terry cvs-1.12.5]# make   

[root@terry cvs-1.12.5]# make install   

以上指令将CVS安装到/usr/local/terry_yu/cvs这个目录上。   

注:除了使用源码包进行安装之外,还可以使用RPM包来安装。   

3、设置启动CVS服务   在LinuxCVS服务可以通过inetdxinetdtcpwrapper等来启动,其中inetd由于安全理由在许多场合已经被xinetd所取代了,这里我们使用xinetd来启动CVS服务。   

/etc/xinetd.d目录下为CVS服务创建一个配置文件,比如:/etc/xinetd.d/cvspserver,编辑/etc/xinetd.d/cvspserver,输入以下内容:   

service cvspserver   

{   

disable = no   

socket_type = stream   

wait = no   

user = root   

env = HOME=   

server = /usr/bin/cvs   

server_args = -f ——allow-root=/home/cvsroot pserver   

}   注:   

1pserver表示是口令认证的访问方式,这是最常用的方式,其他还有gserverkserverext,如果想要更高的安全性可以使用ssh来加密口令和数据流,不过这里为了用户使用的方便,仍然选的是pserver.   

2——allow-root是指定Repository的目录,可以建立多个Repository   

然后重新启动xinetd   

[root@terry bin]# /etc/rc.d/init.d/xinetd restart   

Stopping xinetd [ OK ]   

Starting xinetd [ OK ]   

重新启动xinetd服务后,CVS服务也开始工作了。共2页。   

4、在CVS服务器端建立Repository   

首先要创建一个名为cvs的组和一个名为cvsroot的用户,以后要访问CVS服务的用户加入cvs这个组:   

[root@terry root]# groupadd cvs   

[root@terry root]# useradd -g cvs -s /sbin/nologin cvsroot   

[root@terry root]# chown -R cvsroot /home/cvsroot   

接下来进行初始化:   

[root@terry root]# cvs -d /home/cvsroot init   

这样在/home/cvsroot目录中就产生了CVSROOT目录,其中存放了一些配置文件,如config等,然后设置权限:   

[root@terry root]# chown -R cvsroot.cvs /home/cvsroot   

[root@terry root]# chmod -R ug+rwx /home/cvsroot   

[root@terry root]# chmod 644 /home/cvsroot/CVSROOT/config   

为了CVS系统的安全,我们要修改/home/cvsroot/CVSROOT/config文件,将“#SystemAuth =no”前面的注释号#去掉,即改为“SystemAuth =no”,然后给开发者们逐一建立账号,新建的不要分配用户目录,因为它将作为一个虚拟用户帐号来使用,具体命令如:   [root@terry root]# useradd -g cvs -M bogus   

[root@terry root]# passwd bogus   

上面的命令就创建了一个并没有Home目录的用户bogus,接着将系统的shadow文件复制到CVSROOT 并重命名为passwd   [root@terry root]# cp /etc/shadow /home/cvsroot/CVSROOT/passwd   

[root@terry root]# chmod 0644 /home/cvsroot/CVSROOT/passwd   

然后修改passwd文件,将除bogus之外的所有行删除,然后去掉每行第二个冒号以后的所有内容,并添上字符串cvsroot 改为如下格式:   

bogusND5$J8N9BW5DKV.nPdxfdshcvsroot   

然后,删除掉刚刚在系统中添加的那个用户bogus   

[root@terry root]# userdel -f bogus   

好了,到这里,CVS服务器端就已经安装设置好了,这样你的CVS用户就只能用passwd中规定的用户来登陆你的CVS服务器了,要注意的是:本文介绍的添加用户的方法适用于小数量的用户,如果是有大规模的开发人员,推荐采用连接LDAP或者数据库来进行用户的认证服务。

 

Fodera Core 7系统下构建CVS服务器的方法

安装完Fedora7后系统自己就安装好CVS软件了,无需在/etc/xinetd.d/下创建配置文件cvs了,默认的配置文件如下:

# default: off

# description: The CVS service can record the history of your source /

# files. CVS stores all the versions of a file in a single /

# file in a clever way that only stores the differences /

# between versions.

service cvspserver

{

disable = yes

port = 2401

socket_type = stream

protocol = tcp

wait = no

user = root

passenv = PATH

server = /usr/bin/cvs

env = HOME=/var/cvs

server_args = -f --allow-root=/var/cvs pserver

# bind = 127.0.0.1

}

前期工作:

默认是没有安装上xinetd服务,所以先安装xinetd服务#yum install xinetd

然后更改/etc/xinetd.d/cvs, disable=yes 改为 disable=no

重启xinetd服务, #service xinetd restart

创建用户和密码

首先要创建一个名为cvs的组和一个名为cvsroot的用户,以后要访问CVS服务的用户加入cvs这个组:

[root@rocketcnvm ~]# groupadd cvs

[root@rocketcnvm ~]#useradd -g cvs -s /sbin/nologin cvsroot

[root@rocketcnvm ~]#chown -R cvsroot /home/cvsroot

接下来进行初始化:

[root@rocketcnvm ~]#cvs -d /var/cvs init

这样在/var/cvs目录中就产生了CVSROOT目录,其中存放了一些配置文件,如config等,然后设置:

[root@rocketcnvm ~]#chown -R cvsroot:cvs /var/cvs

[root@rocketcnvm ~]#chmod -R ug+rwx /var/cvs

[root@rocketcnvm ~]#chmod 644 /var/cvs/CVSROOT/config

为了CVS系统的安全,我们要修改/var/cvs/CVSROOT/config文件,将"#SystemAuth =no"的前而的注释号#去掉,即改为"SystemAuth =no",然后给开发者们逐一建立账号,新建的不要分配用户目录,因为它将作为一个虚拟用户帐号来使用,具体命令如: [root@rocketcnvm ~]#useradd -g cvs -M rocketpro1

[root@rocketcnvm ~]#password rocketpro1

上面的命令就创建了一个并没有Home目录的用户rocketpro1,接着将系统的shadow文件复制到CVSROOT,并重命名为passwd [root@rocketcnvm ~]#cp /etc/shadow /var/cvs/CVSROOT/passwd

[root@rocketcnvm ~]#chmod 0644 /var/cvs/CVSROOT/passwd 然后修改passwd文件,将除刚才设定的可使用CVS的用户rocketpro1之外的所有行删除,然后去掉每行第二个冒号以后的所有内容,并添上字符串cvsroot, 改为如下格式:

rocketpro1:$1$RO3GIeUt$6Sbq5uUqzusuK/R1Hua4k/:cvsroot

然后,删除掉刚刚在系统中添加的那个用户rocketpro1(如果要想让该用户也是操作系统的用户,也可以不删除该用户,如果只允许该用户访问CVS那么可以将该用户删除)

[root@rocketcnvm ~]#userdel -f rocketpro1

使用CVS服务器

现在可以找一台windows机器,装个smartcvs,然后设置一下,填写好用户名和密码就可以了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值