CVS是Concurrent Versions System(并行版本系统)的缩写,它是目前比较流行与优秀的版本管理与控制工具,它深受大多数开发人员与系统管理的喜爱,同时也是用来管理其它日常文档(如word工作文档之类)的一个强有力的工具。
一、 CVS服务器的安装
1、基本安装
首先确认系统中是否安装CVS服务:
[root@localhost /]# rpm –qa |grep cvs
cvs-1.11.17-1
如果命令输出类似于上面的输出则说明系统已经安装有cvs,否则就需要从安装光盘中安装cvs的rpm包,或者到http://www.cvshome.org下载。
若未安装,运行rpm –ivh cvs-1.11.17-1.i386.rpm 安装:
[root@localhost /]# rpm –ivh cvs-1.11.17-1.i386.rpm
还可以使用源码包进行编译安装:
[root@localhost src]# tar -xjpvf cvs-1.11.17.tar.tar
[root@localhost src]# cd cvs-1.11.17
[root@localhost cvs-1.11.17]# ./configure --prefix=/usr/share/cvs --disable-server-flow-control
[root@localhost cvs-1.11.17]# make
[root@localhost cvs-1.11.17]# make install
以上指令将CVS安装到/usr/share/cvs这个目录上。
2、在服务器端建立Repository根目录 cvsroot
因为这里涉及到用户对cvsroot里的文件读写的权限问题,所以比较简单的方法是建立一个组,然后再建立一个属于该组的帐户,而且以后有读写权限的用户都要属于该组。假设我们建一个组叫cvs,用户名是cvsroot。建组和用户的命令如下
[root@localhost root]# groupadd cvs
[root@localhost root]# useradd -g cvs -s /sbin/nologin cvsroot
[root@localhost root]# chown -R cvsroot /home/cvsroot
接下来进行初始化,建立仓库Repository:
[root@localhost root]# cvs -d /home/cvsroot init
这样在/home/cvsroot目录中就产生了CVSROOT目录,其中存放了一些配置文件,如config等,然后设置权限:
[root@localhost root]# chown -R cvsroot.cvs /home/cvsroot
[root@localhost root]# chmod -R ug+rwx /home/cvsroot
[root@localhost root]# chmod 644 /home/cvsroot/CVSROOT/config
为了CVS系统的安全,我们要修改/home/cvsroot/CVSROOT/config文件,将"#SystemAuth =no"的前面的注释号#去掉,即改为“SystemAuth =no”(这样,将只有passwd文件里指定的用户才能登录CVS服务器),然后给开发者们逐一建立账号,新建的不要分配用户目录,因为它将作为一个虚拟用户帐号来使用,具体命令如:
[root@localhost root]# useradd -g cvs -M cyberwh
[root@localhost root]# passwd cyberwh
上面的命令就创建了一个并没有Home目录的用户cyberwh,接着将系统的shadow文件复制到CVSROOT, 并重命名为passwd:
[root@localhost root]# cp /etc/shadow /home/cvsroot/CVSROOT/passwd
[root@localhost root]# chmod 0644 /home/cvsroot/CVSROOT/passwd
然后修改passwd文件,将除刚才设定的可使用CVS的用户cyberwh之外的所有行删除,然后去掉每行第二个冒号以后的所有内容,并添上字符串cvsroot, 改为如下格式:
cyberwh: $1$yh65p/pK$srDuMpEazPhlQOeGsBYN./:cvsroot
然后,删除掉刚刚在系统中添加的那个用户cyberwh:
[root@localhost root]# userdel -f cyberwh
这样你的CVS用户就只能用passwd中规定的用户来登陆你的CVS服务器了,要注意的是:本文介绍的添加用户的方法适用于小数量的用户,如果是有大规模的开发人员,推荐采用连接LDAP或者数据库来进行用户的认证服务。
3、设置启动CVS服务
在Linux上CVS服务可以通过inetd、xinetd或tcpwrapper等来启动,其中inetd由于安全理由在许多场合已经被xinetd所取代了。这里我们使用xinetd来启动CVS服务。
3.1 在/etc/xinetd.d目录下为CVS服务创建一个配置文件:
[root@localhost root]#touch /etc/xinetd.d/cvspserver
编辑/etc/xinetd.d/cvspserver,输入如下内容:
service cvspserver
{
disable = no
socket_type = stream
wait = no
user = cvsroot
env = HOME=
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
}
注:
1)pserver表示是口令认证的访问方式,这是最常用的方式,其他还有gserver,kserver,ext,如果想要更高的安全性可以使用ssh来加密口令和数据流,不过这里为了用户使用的方便,仍然选的是pserver
2)--allow-root是指定Repository的目录,可以建立多个Repository
3.2 加入cvs服务(如果缺省就有cvs服务,就不用加)
vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
3.3 重新启动xinetd:
[root@localhost bin]# /etc/rc.d/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
重新启动xinetd服务后,CVS服务也开始工作了。
3.4 检查cvspserver服务是否已经启动
[root@localhost /]# netstat -lnp|grep 2401
tcp 0 0 .0.0.0:2401 0.0.0.0:* LISTEN 1041/xinetd
则说明cvs服务器已经运行。
好了,做到这里,CVS的服务器端就已经安装设置好了。
二、管理CVS服务器
服务器可以用了,现在大家最关心的就是如何管理服务器,比如,我想让一些人有读和/或写 CVS 仓库的权限,但是不想给它系统权限怎么办呢?
不难,在 cvs 管理员用户(在我这里是 cvsroot 用户)的家目录里有一个 CVSROOT 目录,这个目录里有三个配置文件,passwd, readers, writers,我们可以通过设置这三个文件来配置 CVS 服务器,下面分别介绍这几个文件的作用:
passwd:cvs 用户的用户列表文件,它的格式很象 shadow 文件:
{cvs 用户名}:[加密的口令]:[等效系统用户名]
readers:有 cvs 读权限的用户列表文件。就是一个一维列表。在这个文件中的用户对 cvs只有读权限。
writers:有 cvs 写权限的用户的列表文件。和 readers 一样,是一个一维列表。在这个文件中的用户对 cvs 有写权限。
上面三个文件在缺省安装的时候可能都不存在,需要我们自己创建,好吧,现在还是让我们用一个例子来教学吧。假设我们有下面几个用户需要使用 cvs:
laser, gumpwu, henry, betty, anonymous。
其中 laser 和 gumpwu 是系统用户,而 henry, betty, anonymous 我们都不想给系统用户权限,并且 betty 和 anonymous 都是只读用户,而且 anonymous 更是连口令都没有。
1、 编辑 cvs 管理员家目录里 CVSROOT/passwd 文件(cvsroot用户),加入下面几行:
laser:$xxefajfka;faffa33:cvsroot
gumpwu:$ajfaal;323r0ofeeanv:cvsroot
henry:$fajkdpaieje:cvsroot
betty:fjkal;ffjieinfn/:cvsroot
anonymous::cvsroot
注意:上面的第二个字段(分隔符为 :)是密文口令。
密码可以有以下几种方法生成:
1.1 安装步骤2中所述。
1.2
vi /home/cvsroot/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";
如果需要密码为:cyberwh,则敲入:
./passwdgen.pl cyberwh
(注意passwdgen.pl要先设为可执行)
回车即可得到加密密码,用其替换passwd文件中的passwd部分就可以了
1.3 使用htpasswd做加密运算。
htpasswd是Apache的一个工具,如果未安装Apache需先安装。查看Apache是否已经安装:
rpm -q httpd
假定建立一个yzx帐号。
htpasswd –n cyberwh
New password:
Re-type new password:
cyberwh:BLoOq1SmcVfbU
其中BLoOq1SmcVfbU就是加密后的密码。
在CVSROOT目录下建立一个passwd文本文件,格式如下:
anonymous::cvsroot(不要密码)
cyberwh:BLoOq1SmcVfbU:cvsroot
2、 编辑 readers 文件,加入下面几行:
anonymous
betty
3、 编辑 writers 文件,加入下面几行:
laser
gumpwu
henry
注意:writers中的用户不能在readers中,要不然不能上传更新文件。
至于客户端的配置,由于我常使用的IDE如 Eclipse、WSAD都比较容易设置,这里就不再罗嗦。
分享到:
相关推荐
《CVS Server安装与Eclipse简单使用指南》 在软件开发过程中,版本控制系统的使用是至关重要的,它能够帮助团队协同工作,跟踪代码修改历史,防止数据丢失。CVS(Concurrent Versions System)是一个开源的版本控制...
### Windows 下 CVS 服务器安装配置详解 #### 一、引言 CVS(Concurrent Versions System)是一款开源的版本控制系统,被广泛应用于软件开发过程中的源代码管理。本篇文章将详细介绍如何在Windows环境下安装和配置...
CentOS 5 CVS 安装与配置 在本文中,我们将一步一步地指导您如何在 CentOS 5 中安装和配置 CVS(Concurrent Versions System),并且介绍用户管理的相关知识。 安装 CVS 首先,我们需要安装 CVS 软件包。使用以下...
【CVS安装与配置】 CVS(Concurrent Versions System)是一种版本控制系统,用于跟踪软件开发过程中文件的修改历史,便于多人协作开发。本篇主要介绍CVS的安装和配置过程,包括服务器端和客户端的安装,以及用户...
### CVS安装与配置详解 #### 一、CVS简介及重要性 CVS(Concurrent Versions System)是一种广泛使用的开源版本控制系统,它帮助开发者管理软件项目的源代码版本控制。通过CVS,团队成员可以在分布式环境中协作...
### CVS安装与配置管理 #### 一、简介 CVS(Concurrent Versions System)是一种开源的版本控制系统,用于管理软件开发过程中的代码版本控制。它能够帮助开发者追踪代码的变更历史,支持多人协作开发,确保代码的...
本文将基于给定的文件信息,详细介绍CVS在Windows XP操作系统下的安装与配置流程,帮助读者理解和掌握CVS的基本操作。 #### 一、CVS安装步骤 1. **下载安装文件**:首先,需要从官方网站或其他可信源下载CVS的安装...
本文将深入探讨Eclipse3.4与CVS的集成安装及配置过程,帮助开发者更好地理解和操作这一组合。 首先,我们需要了解CVS的基本概念。CVS是一种开源的版本控制系统,它允许多个用户同时对同一项目进行修改,并通过版本...
### Eclipse 3.4 中 CVS 的安装与配置详解 #### 一、CVS服务器端的安装配置 **1. 下载CVS服务器端软件** 首先,需要下载CVS服务器端软件,当前最新版本为 cvsnt-2.5.03.2382。可以从官方网站 ...
cvsserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/home/cvsroot pserver 如果是使用 xinetd 的系统,需要在 /etc/xinetd.d/ 目录下创建文件 cvspserver,内容如下: # default: on # ...
- **服务器端机器和环境配置**:需准备Windows2000ProfessionalSP4中文版系统,指定机器名为`CVSServer`,以及内部IP为`172.16.26.28`。此外,需准备两个工作目录,分别为存放源代码的根目录`D:\TheWayTrace`和存放...
### Solaris 下 CVS 的安装与配置详解 #### 一、引言 在现代软件开发过程中,版本控制系统扮演着至关重要的角色。CVS (Concurrent Versions System) 作为一款经典的版本控制工具,在开源社区和企业环境中得到了...
`eclipse cvs安装与配置.doc`文档应该提供了更详细的步骤和截图,帮助你理解配置过程。`wincvs_setup.exe`是Windows版本的CVS图形界面客户端WinCVS,它提供了一种独立于Eclipse的访问CVS仓库的方式,如果你需要离线...
本文将详细介绍如何在Linux环境下安装Apache服务器、配置CVS以及设置CVSweb,以便实现代码的远程浏览和管理。 首先,我们需要了解CVS。CVS是一种集中式的版本控制系统,它允许开发者在多台计算机之间共享源代码,...
**一、CVS安装与配置** 1. **CVS安装** - 下载CVS软件,例如从`http://www.march-hare.com/cvspro/`获取。 - 安装过程中,选择同意许可协议,然后选择同时安装服务器和客户端组件。 - 按照安装向导的步骤进行,...
2. **管理员权限**:在安装和配置过程中需要具备管理员权限来完成相关设置。 3. **网络环境**:确保搭建服务器的计算机与其他客户端计算机之间能够进行正常的网络通信。 #### 三、具体步骤 ##### 步骤1:安装CVSNT...
- 对于开发人员,他们需要安装CVS客户端,如WinCVS、TortoiseCVS等,这些客户端软件提供图形界面,方便与CVSNT交互。 - 配置客户端的CVS根目录,指向服务器的CVSROOT,例如`:pserver:username@yourserverip:/repos...