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简单使用 含server安装文件 简单实用说明文档 含有操作截图
win7系统CVS安装文件及配置过程,里面有cvsnt-server-2.5.05.3489版本的安装文件和详尽的安装过程。
1 CVS下载 1.1 安装 CVSNT 1.2 建立Windows系统账户 1.3 CVS简介 2 CVS服务器端配置 2.1 配置服务器端CVS文件存放位置 2.2 配置Windows Server环境变量 2.3 为CVS添加多用户 2.4 为CVS目录加上用户权限设置等等
本TXT文件为第五章Linux 下配置 CVS服务器 测试环境:系统 CentOS 5.2 Tomcat版本apache-tomcat-5.5.23 第一步:安装必要组建 第二步:创建用户和用户组 第三步:创建资源库目录 第四步:修改环境...
汉化: 将文件夹zh-CN放到安装目录下的locale下 Windows7下乱码解决方案: 1.卸载安装TortoiseCVS时自动安装的CVSNT. 2.重新安装CVSNT(运行目录下的cvsnt-server-2.5.05.3489.msi文件)。
在eclipse中已经内置了CVS client,eclipse的文档中建议将CVS server安装在linux、unix等操作系统上,不过在我们大多数人的开发中,采用CVS server for windows仍然是最方便快捷的方式,尽管它可能比不上linux、...
按照上面的步骤安装TortoiseCVS可以解决以下问题以及压缩包包含以下内容: 1.获取文件时有乱码的问题; 2.文件没有显示状态图标的问题; 3.汉化将zh_CN文件夹拖到安装目录TortoiseCVS\locale下 4.cvsNT+tortoise...
CVS是目前最常用的版本控制和软件配置系统。其开源性在其普及的过程中功不可没,然而正因为开源造成了其易用性较差。往往一个功能需要通过几个看似不相干的操作配合才能进行。Windows下CVS的多帐户配置正是这样一个...
第一步服务器安装,不详细介绍了请参考相关资料吧。 第二步eclipse连接服务器设置。 1。windows-->show view-->other弹出 show view窗口 2。选择cvs-->cvs repositories 3.在cvs repositories窗口中点击右键new-->...
平台的VisualSVN-Server文档,包括了安装配置,用户文件管理,用户自主修改密码配置(PHP实现),linkd方式实现多个版本库分布多个硬盘,以及实现定时自动备份,VSS到svn迁移等等,非常详细。 文档结构: 一.安装SVN...
cvsnt安装 ,配置, cvsnt添加cvsnt内部用户,修改记录仓储配置文件实现cvsnt内部账号访问, cvsnt server安装程序,内容详细易懂。 客户端eclipse 内置cvs客户端连接。
一、 建立ECLIPSE与 CVS 服务器的连接 1.打开 CVS Repository 视图(Perspective),可以通过如下菜单操作实现: 【Window】→【Open Perspective】→【Other...】。在出现的对话框中选 择 CVS Repository ...
5.2 :pserver:方式远程访问CVS 数据仓库的客户端配置...................................................5 6、使用CVS 进行版本控制..............................................................................
在CVS_RSH环境变量中,填入你的CVS相关信息 例::pserver:andy:comsenz@192.168.30.88:/home/cvsroot
里面包含了cvsnt安装包,和cvs操作手册,包含所有的内容,只要是个人都能看的懂,此乃我呕心沥血制作成品。绝对的好东西。。。
cvs [passwd aborted]: authorization failed: server 127.0.0.1 rejected access to /tarena/cvs for user administrator 这条命令后就可以设置这个用户的密码。 成功后可以使用这个用户了 在Myeclipse中连接...
set cvsroot=:pserver:qab@server/CVS(qab是刚才建立的用户名,server是安装的计算机名称,/CVS 是刚才建立的文件夹别名) cvs login 密码为空 这时会登录成功 改密码 cvs passwd 这时会看到passwd文件中的内容...
首先我们要正确安装并配置好CVS服务器,通常LinuxServer都自带CVS服务,不过命令行操作比较繁琐。Windows下也有简单易用的CVS服务器,这里我们推荐CVSNT,可以下载CVSNT2.0.51a,安装并启动CVSNT:然后切换到...
我现在只是把CVS安装成功,但环境配置老是出错 CVS INIT老是提示: name or server cann't find 请各位帮帮小女子,不胜感激!! 首先设置CVSROOT环境变量 比如你的自己用用的话:在~/.profile中加入set ...