`
haiweb
  • 浏览: 14945 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
  • Digger: 最近开始使用,以前用JUDE.Auto Layout 这样的f ...
    ArgoUML

Linux下CVS服務器的安裝及配置

阅读更多
Linux下CVS服務器的安裝及配置2008年09月26日 下午 02:54一、CVS服务器的安装

首先确认系统中是否安装CVS服务:


     [root@localhost /]# rpm -qa|grep cvs
      cvs-1.11.17-7.RHEL4

如果命令输出类似于上面的输出则说明系统已经安装有cvs,否则就需要从安装光盘中安装cvs的rpm包,或者到http://www.cvshome.org下载。

1、建立 CVSROOT

目录,因为这里涉及到用户对CVSROOT里的文件读写的权限问题,所以比较简单的方法是建立一个组,然后再建立一个属于该组的帐户,而且以后有读写权限的用户都要属于该组。假设我们建一个组叫cvs,用户名是cvsroot。建组和用户的命令如下

#groupadd cvs
#useradd -g cvs -G cvs -d /home/cvsroot cvsroot

生成的用户宿主目录在/home/cvsroot(根据自己的系统调整)

2、建立CVS仓库,用cvsroot 用户登陆,用下面命令:

$cvs -d /home/cvsroot init

3、仍然是 cvsroot 用户,修改 /home/cvsroot (CVSROOT)的权限,赋与同组人有读写的权限: 

$chmod 775 -R /home/cvsroot

4、用root登录,加入cvs服务

vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
大多数linux缺省就有cvs服务,所以不用加

在xinetd.d目录下添加需要启动的服务:

cd /etc/xinetd.d
vi cvspserver

service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root     //这里一定要是root ,原因我也不知道
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_failure += USERID
}

重新启动inetd或者xinetd:
/etc/rc.d/init.d/xinetd restart

一般这样就OK了

二、管理CVS服务器

服务器OK了,现在关心的就是如何管理服务器

在/home/cvsroot/CVSROOT目录下会有三个配置文件:passwd,readers, writers,可以通过这三个文件来配置CVS服务器(注:这三个文件在缺省安装的时候可能不存在,需要手动创建)

passwd:cvs 用户的用户列表文件,它的格式是:

{cvs 用户名}:[加密的口令]:[等效系统用户名]

例如: betty:fjkalfjieinfn/:cvsroot (其中密码是加密后的密文)

readers:有 cvs 读权限的用户列表文件。是一个一维列表。在这个文件中的用户对 cvs只有读权限。

writers:有 cvs 写权限的用户的列表文件。和 readers 一样,是一个一维列表。在这个文件中的用户对 cvs 有写权限。

注意:writers中的用户不能出现在readers中,要不然不能上传更新文件。

附:用以下方法获取密码

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";

保存退出

chmod +x /home/cvsroot/passwdgen.pl

如果需要密码输入 ./passwdgen.pl username

现在我们各项都设置好了,那么怎么用呢,我在这里写一个最简单的(估计也是最常用的)命令介绍:

首先,建立一个新的CVS项目,一般我们都已经有一些项目文件了,这样我们可以用下面步骤生成一个新的CVS项目:

进入到你的已有项目的目录,比如叫 cvstest:

$cd cvstest
运行命令:
$cvs import -m "this is a cvstest project" cvstest     v_0_0_1     start

说明:import 是cvs的命令之一,表示向cvs仓库输入项目文件。 -m参数后面的字串是描述文本,随便写些有意义的东西,如果不加 -m 参数,那么cvs会自动运行一个编辑器(一

般是vi,但是可以通过修改环境变量EDITOR来改成你喜欢用的编辑器。)让你输入信息,cvstest 是项目名称(实际上是仓库名,在CVS服务器上会存储在以这个名字命名的仓库里

。)
v_0_0_1是这个分支的总标记。没啥用(或曰不常用。)
start 是每次 import 标识文件的输入层次的标记,没啥用。
这样我们就建立了一个CVS仓库了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics