`
420189155
  • 浏览: 52939 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux上配置CVS服务器

 
阅读更多

CVS在项目开发中使用的非常广泛,有些新手对于linux不太熟悉,配置CVS时错误百出,我也是从新手一步步过来的,结合自己的工作心得和使用经验,写了这篇指南,希望对初学者有所帮助。

********************************
* 版权所有:Matrics
* 转载请注明出处 http://matrics.cublog.cn
********************************

OS版本:RHEL 4 u3
cvs版本:1.11.17 (系统自带rpm包)
目标  :安全控制, 多仓库管理,网络访问

申明:
由于使用的是系统自带的cvs服务器rpm版本,故此略过安装步骤。

重要的配置文件:
/etc/passwd
/etc/xinetd.d/cvspserver(新创建)

cvs仓库位置:
/opt/cvsbase/srchome

cvs管理员:cvsadmin
cvs用户组:cvs

配置步骤:
1、创建cvs管理员和组
#mkdir -p /opt/cvsbase/srchome
#groupadd cvs
#useradd -g cvs -G cvs -d /opt/cvsbase/cvsadmin cvsadmin
#chown cvsadmin.cvs /opt/cvsbase/srchome
2、更改cvsadmin的密码
passwd cvsadmin

3、多仓库
由于/etc/xinetd.d/cvspserver文件中,server_args项只能指定的一个CVS仓库,所以要想使用多个仓库需要特殊的方法——脚本。
编辑/etc/xinetd.d/cvspserver文件内容如下:
# File begin
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /opt/cvsbase/cvsrepos.run
log_on_failure += USERID
}

# EOF

编辑仓库脚本文件 /opt/cvsbase/cvsrepos.run
# File begin
#!/bin/bash

CVSHOME=/opt/cvsbase/srchome

/usr/bin/cvs -f \
--allow-root=$CVSHOME/proj1 \
--allow-root=$CVSHOME/proj2 \
--allow-root=$CVSHOME/proj3 \
...
...
pserver

# EOF

注意每个“--allow-root”项末尾的 \ 后不能有空格,否则会报告错误。

以后重启xinet服务
# chmod +x /opt/cvsbase/cvsrepos.run
# service xinetd restart

4、初始化cvs仓库(XXX为项目名)
#su - cvsadmin
#mkdir /opt/cvsbase/srchome/XXX
#cvs -d /opt/cvsbase/srchome/XXX init

5、cvs用户验证
普通cvs用户不使用linux系统帐户,而是使用cvs自身的用户验证系统,映射cvs用户到linux的系统帐户上。

常用的方法是,为每个工程建立一个等效系统帐户,限制其登录,只作为映射使用,且此帐户应该是cvs组的成员。
命令如下:(XXX用实际的项目名代替)
#adduser -g cvs -G cvs -s /bin/false -d /opt/cvsbase/srchome/XXX -M XXXcvs

创建cvs用户
可以使用htpasswd工具生成加密后的密文,也可以使用perl编写小的passwd加密脚本。
方法一:perl脚本
加密用的perl脚本内容如下:
# File begin
#!/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";

# EOF

文件保存到/opt/cvsbase/cvspasswd.pl,并赋予可执行权限:
#chmod +x /opt/cvsbase/cvspasswd.pl
这样,通过运行
#/opt/cvsbase/cvspasswd.pl "密码"
就可以得到密码加密后的密文。

方法二:htpasswd工具
#htpasswd -c cvspasswd cvsusername
输入两次密码后,加密后的密文就保存到了cvspasswd文件里。冒号后的一段就是密文。

不管用哪种方法,得到密文后,编辑项目cvs仓库下的/CVSROOT/passwd文件,以如下格式添加用户:
cvsusername:加密后的密文:XXXcvs
上例共三部分,分别是要添加的cvs用户名、cvs用户密码加密后的密文、被映射到的linux系统帐户。
cvs用户名自定义,密文用上面的cvspasswd.pl脚本生成,被映射的linux系统帐户在第5步开始处建立。

如果cvs用户需要有写的权限,那么用户名添加到项目cvs仓库的CVSROOT/writers文件里,每行一个用户。
#echo cvsusername >> writers
如果需要只读权限,就把用户名添加到项目cvs仓库的CVSROOT/readers文件里,每行一个用户。
#echo cvsusername >> readers
需要注意的是,拥有写权限的用户名不能再次出现在readers文件中,换句话说,每个用户在两个文件中最多只能出现一次。

6、启动cvs服务器
#service xinetd restart
使用命令查找cvs服务是否正常启动:
netstat -l | grep cvspserver
如果有显示,说明cvs服务器已经正常启动。

7、防火墙配置
cvs服务器默认使用2401端口监听连接请求,所以想要开通远程cvs连接的话,需要在防火墙上打开2401端口的tcp连接。可以使用system-config-securitylevel-tui工具进行可是可视化配置, Customize -> Allow incoming:Other ports: 输入2401:tcp,如果已存在其他项,则彼此用空格隔开。
保存退出。
熟悉iptables命令的人也可以直接编辑/etc/sysconfig/iptables文件添加规则,然后重新启动iptables服务也可。

然后,使用cvs客户端工具进行连接测试。

至此,linux上的cvs服务器配置完毕。

如果用户提交 出错 c vs cannot mkdir  

把cvsroot目录所有者给cvsroot     命令:chown cvsroot /home/cvsroot/ -R

分享到:
评论

相关推荐

    Linux下CVS服务器的配置

    本文档详细的介绍了在Linux下CVS服务器的配置

    Linux 下配置 CVS服务器CentOS(CentOS 5.2)

    本TXT文件为第五章Linux 下配置 CVS服务器 测试环境:系统 CentOS 5.2 Tomcat版本apache-tomcat-5.5.23 第一步:安装必要组建 第二步:创建用户和用户组 第三步:创建资源库目录 第四步:修改环境...

    Linux与Windows CVS服务器配置与使用

    CVS是目前比较流行与...WinCVS是CVS的一个客户端软件,它运行在Windows上,用来在 Windows上登录CVS服务器,然后进行一些CVS相关的操作与管理。WinCVS与CVS服务器配合使用将组成最强有力的版本控制与管理的系统之一。

    linux下教你如何配置CVS服务器

    linux下教你如何配置CVS服务器,WORD文字形式,一看就很清楚是怎么配置了呵呵

    Linux下CVS服务器配置

    Linux下如何配置cvs服务器,通过命令行实现配置

    Linux下CVS服务器的配置.doc

    Linux下CVS服务器的配置 包括验证cvs是否安装 配置用户和组 创建cvs库 初始化cvs仓库 修改cvsroot环境变量 创建cvs用户

    Linux下CVS服务器的配置.pdf

    Linux下CVS服务器的配置.pdf

    Linux下CVS服务器的配置[汇编].pdf

    Linux下CVS服务器的配置[汇编].pdf

    linux下CVS的配置与安装

    linux下CVS服务器端的安装与配置,wincvs的安装与配置

    CVS服务器配置文档及用户使用说明

    本文档介绍了在linux centos系统上建立CVS服务器和客户端的详细过程

    Linux系统下CVS配置库的安装配置

    RedHat9.0下面,简单的一个CVS配置库的创建及客户端的配置的说明,

    linux下cvs安装配置全过程

    教你一步步在Linux下安装配置cvs

    linux cvs的配置全攻略

    CVS 的基本工作思路是这样的:在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。由仓库管理员统一管理这些源程序。这样,就好象只有一个人在修改文件一样。避免了冲突。每个用户在使用仓库之前,...

    WinCVS+SSH+Tcl中文版本

    CVS是目前比较流行与优秀的版本管理与控制工具,是用来管理其它日常文档(如...本文主要介绍WinCVS的日常操作, CVS服务器的配置将在另外的文章中介绍,本文所有操作是基于CVS服务配置正确、数据仓库已初始化的基础上

    cvsnt_admin.rar_doc_linux 服务器

    linux和windows下配置cvs服务器.doc

    论坛教程帖:LINUX下CVS服务器的配置

    我是一位新手,刚刚装了LINUX,经理要求配CVS 可我找到的CVS资料说法各一,而且屡试屡败。 我现在只是把CVS安装成功,但环境配置老是出错 CVS INIT老是提示: name or server cann't find 请各位帮帮小...

    代码版本控制软件CVS-2.5

    后面还提到远程CVS服务器的设置: CVSROOT=:ext:$USER@test.server.address#port:/path/to/cvsroot CVS_RSH=ssh; export CVSROOT CVS_RSH 初始化:CVS版本库的初始化。 cvs init 一个项目的首次导入 cvs import -m...

    WinCVS教程

    CVS是目前比较流行与优秀的版本管理与控制工具,是用来管理其它日常... 本文主要介绍WinCVS的日常操作, CVS服务器的配置将在另外的文章中介绍,本文所有操作是基于CVS服务配置正确、数据仓库已初始化的基础上,

    Linux 下安装 Mysql5.0

    运行方法 第七步:导入SQL文件,生成数据库 其他安装请见: 第一章Linux 下安装 JDK 第二章Linux 下安装 Tomcat5.5 第四章Linux 下安装 Oracle 10g 第五章Linux 下配置 CVS服务器 第六章Linux ...

Global site tag (gtag.js) - Google Analytics