`

Linux建立本地cvs服务器

阅读更多
在RH Linux上快速建立本地CVS服务器的小指南

前提,在安装RH linux的时候,选择了cvs软件包。如果没有安装,当然也可以从网路上下载最新的cvs代码自己编译,或者使用现成的
rpm包进行安装。

下面的工作,集中精力在建立多用户、单cvs仓库的本地cvs服务器。对于如何扩充它,使之成为局域网多用户、多cvs仓库的cvs服务器, 是以后的讨论范围。

简要的步骤:
1、建立cvs用户组
#groupadd cvs

2、建立cvs组的cvsroot用户和所属的目录
#useradd -g cvs -G cvs -d /home/cvsroot cvsroot

3、用cvsroot用户登录,然后改变用户目录的权限,让所有cvs组的成员对它有读写权、初始化cvs仓库
#su - cvsroot
$chmod 775 .
$cvs init

4、使用root或者cvsroot用户登录,添加cvs用户,添加cvs成员的加密密码
#vi /home/cvsroot/CVSROOT/passwd
在这个文件中添加如下形式的多行内容:
usrname1:xxxxxx:cvsroot
usrname2:xxxxxx:cvsroot
其中的xxxxxx是用户usernamex加密的密码,用来生成的perl程序如下:
#vi 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";

这个脚本的使用方法是:perl passwdgen.pl <预定密码>,然后将生成的加密密码拷贝到passwd文件中。
修改passwd文件属性,使之只对于cvsroot用户只读
$chmod 400 passwd

5、修改/etc/services文件,加入cvs服务
#vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service (可以不要的,因为我们在这里仅仅使用到了tcp协议)

6、修改inetd提供的服务,由于linux版本之间的差异,在你的系统中可能使用inetd,或者使用xinetd,
比如在RH Linux 7.3中使用的就是xinetd,你可以使用如下的命令来查询
#ps -A |grep inetd

如果使用的是inetd,则仅仅需要修改/etc/inetd.conf,加入如下的内容
cvsserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver

如果使用的是xinetd,则需要如下操作:
#cd /etc/xinetd.d
#touch cvspserver
#vi cvspserver
引用
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_failure += USERID
}

可以注意到上面各个参数与单行内容的对应关系。

7、重新启动inetd或者xinetd:
#/etc/init.d/xinetd restart

8、检查cvspserver服务是否已经启动
#netstat -l |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN
好了,至此已经在本地建立了一个可以使用的cvs服务器了。
cvs相关网路资源列表
1、http://www.cvshome.org (cvs本家,这里有最新的cvs下载)
2、http://www.loria.fr/cgi-bin/molli/wilma.cgi/rel (这里有很多关于cvs的资源链接)




另一篇文章 (稍后编辑 请见谅)

参考了网上很多CVS建立的方法,其中有一篇《CVS使用速成配置》写得很实用,然而如果按部就班的操作后却总是不成功。后来仔细看了一下,呵呵,有一个很明显也是很小的错误,或者不能称之为错误,应该是网页排版造成的错误,不同之处我用红色字体标出。过程如下:
我使用的是MagicLinux2.0, cvs版本是cvs-1.11.17-4mgc
一、建立cvs服务
1、建立cvs用户组
#>groupadd cvs
2、建立cvs组的用户cvsroot和所属的目录  
#>useradd -g cvs -G cvs -d /cvsroot cvsroot
3、为cvsroot用户添加密码
#>passwd cvsroot
4、改变/cvsroot目录的属性
#>chmod -R 770 /cvsroot
5、改变用户登录
#>su cvsroot
6、创建项目,此处创建两个项目project1和project2
#>cd /cvsroot
#>mkdir project1
#>mkdir project2
7、创建仓库
#>cvs -d /cvsroot/project1 init
#>cvs -d /cvsroot/project2 init
#>chmod -R 770 ./project1/ ./project2/
8、建立CVS服务的启动文件,采用xinetd方式,各位使用MagicLinux的朋友需要注意了,系统服务默认xinetd是没有运行的,需要运行它。 没有的话还需要安装xinetd
#>[Ctrl]+[d]切换到root用户身份
#>cd /etc/xinetd.d
#vi cvspserver

service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
env = HOME=
server = /cvsroot/cvs.run
}

注意:
(1)env = HOME=这一行是为了解决一些cvs操作时产生的读取/root/.cvssignore文件的错误,意思指运行cvs服务时将环境变量HOME置空,这样虽然执行的cvs用户是root,但是没有了HOME环境变量,所以cvs就不会去读/root/.cvssignore这个文件
(2)/cvsroot/cvs.run是一个脚本文件,因为xinetd的server_args长度限制,所以如果想运行很多单个仓库的话,就不如脚本来的方便,脚本如下:
#>vi /cvsroot/cvs.run
#!/bin/bash
/usr/bin/cvs -f --allow-root=/cvsroot/project1 --allow-root=/cvsroot/project2 pserver
此处又要注意了,原文在此处是分行写的(可能是排版的问题,应该连在一起),所以会执行错误,但是xinetd的执行是没有输出信息的,所以我在这里郁闷了有一段时间:(,如果太多的话,可以使用分行符 \

#>chmod +x /cvsroot/cvs.run
最好,执行一下
./cvs.run
如果没有什么特别的信息,应该就没有问题了,[CTRL]+[c]中止它吧
(3)cvspserver这个服务名称要与/etc/services里的名称一致
9、此时可以启动cvs服务了
#>/etc/init/xinetd restart
10、检查是cvspserver服务是否正常启动
#>netstat -al |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN

二、用户管理
此时我们已经建立了project1和project2两个仓库,下面我们分别给两个仓库建立cvs用户,此处我们使用cvs的用户认证方式,而不采用Linux的用户。

11、创建可以登录CVS服务器的用户名和密码
#>su cvsroot
#>vi /cvsroot/project1/passwd

wzw:****:cvsroot
brad:****:cvsroot

#>vi /cvsroot/project2/passwd

brad:****:cvsroot

注意:
(1)passwd文件是不存在的,手动建立
(2)此处有project1两个cvs用户wzw和brad,分别映射到linux系统用户cvsroot,project2有一个用户brad,同样映射到cvsroot,登录后的权限即是cvsroot的权限
(3)****为密码,采用cypt加密,可以由下面的脚本文件生成
#> vi /cvsroot/passwd.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}
";

#>chmod a+x /cvsroot/passwd.pl

15。如果你想生成一个密码是“123456”,则:

#> /cvsroot/passwd.pl “123456”

回车即可得到加密密码,用其替换passwd文件中的****

12、完成了,应该可以了:)
测试一下
#>cvs -d :pserver:brad@192.168.0.39/cvsroot/project1 login
(我的服务器IP为192.168.0.39)
按照提示输入密码,回车
如果没有特别提示信息,呵呵。。。。。OK

感謝《CVS使用速成配置》一文的作者!

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21471/showart_145489.html
分享到:
评论

相关推荐

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

    5. **CVS服务器安装**:在Redhat Linux上,CVS服务器通常通过RPM包进行安装,例如`rpm -ivh cvs-1.10.8-3.i386.rpm`命令。确保从可靠源下载并安装相应版本。 6. **配置/etc/services**:CVS服务器需要在`/etc/...

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

    ### Linux下配置CVS服务器详解 CVS(Concurrent Versions System)是一款开源版本控制系统,在软件开发过程中被广泛用于代码管理。本文将详细介绍如何在Linux环境下配置CVS服务器,包括搭建环境、用户管理、权限...

    linux下的cvs

    例如,如果要在名为`liuyw`的用户下连接到本地主机上的CVS服务器,可以使用如下命令: ```shell cvs -d :pserver:hnnu@localhost:/home/hnnu/cvsroot login ``` 首次登录时会提示输入用户名和密码,输入后即可完成...

    Linux下CVS服务器配置

    总结起来,配置Linux下的CVS服务器涉及到下载源代码,编译安装,配置服务启动方式,创建Repository,设置权限,以及调整相关配置文件。这个过程虽然有些复杂,但是一旦完成,就能为团队提供一个可靠的版本控制基础...

    CVS服务器与WinCVS的配置与使用

    1. 安装CVS服务器:首先需要在服务器端安装CVS服务程序,如在Unix/Linux环境下通常使用CVSNT在Windows上。确保安装完成后,CVS守护进程(cvsd)能够正常启动。 2. 配置CVS仓库:创建一个目录作为CVS仓库,例如 `/...

    cvs服务器端+配置说明书+客户端

    在CVS服务器上创建项目仓库,以便开发者可以克隆和提交代码。使用`cvs import`命令导入初始代码库。 ```bash cvs import -m "Initial import" my_project /var/cvsroot/my_project ``` 二、CVS客户端使用 1. 安装...

    linux下cvs安装配置全过程

    本文主要介绍了在 Linux 系统中安装配置 CVS 服务器的全过程,从确认系统中是否已经安装了 CVS 服务到建立 CVSROOT 目录、配置 CVSROOT 目录权限、建立 CVS 仓库、配置 CVS 服务器和添加可以使用 CVS 服务的用户。

    CVS服务器的搭建与配置

    【CVS服务器的搭建与配置】是一篇详细指导如何建立和配置CVS(Concurrent Versions System)服务器的文章,旨在帮助用户实现版本控制系统的部署。CVS是一个开源的、基于网络的版本控制系统,允许多个人协作开发同一...

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

    CVS服务器的配置对于团队协作至关重要,特别是在Linux CentOS系统上。本文将详细介绍在59.64.161.135服务器上配置CVS服务器,并讲解如何在Eclipse环境中使用CVS。 首先,我们来看CVS服务器的安装和初始配置。在...

    cvs服务器配置(内置说明)

    6. **客户端配置**: 开发者需要在本地安装CVS客户端,并配置CVS服务器的地址和认证信息。这通常涉及编辑`.cvsrc`文件以设置默认行为,以及配置CVSROOT环境变量指向服务器。 7. **使用CVS**: 现在,团队成员可以使用...

    LINUX下的CVS使用手册

    - 仓库:CVS服务器存储所有版本的中央存储库,是所有更改的最终仲裁者。 - 检出(Checkout):获取仓库中的最新代码到工作副本。 - 提交(Commit):将工作副本的更改保存回仓库,需要提供提交消息。 2. 安装与...

    CVS.rar_cvs_cvs Lin_cvs linux_linux c_linux c++

    首先,你需要安装CVS客户端和服务器,通常可以通过Linux的包管理器(如apt-get或yum)轻松完成。安装完成后,可以创建CVS仓库,用于存储项目代码。仓库可以是本地的,也可以是远程的,以便团队成员共享。 CVS的基本...

    wincvs和linux下cvs使用的文档

    它可能会涵盖创建CVS根目录,连接CVS服务器,检出、更新、提交代码,解决冲突,以及查看版本历史等操作。 2. **LINUX下的CVS使用手册.doc**:这是一份针对Linux系统的CVS操作手册,可能会包含如何在Linux终端中设置...

    Eclipse中CVS使用

    6. 创建CVS服务器用户,该用户需与Windows登录用户一致。通过命令行窗口,转到cvsnt目录,使用`cvs -d c:\cvsfile passwd -a giles`命令创建用户giles,然后设置密码。 完成以上步骤后,CVS服务器已经配置完毕,...

    Linux系统安装git服务器.pdf

    Linux系统安装Git服务器的过程中,涉及的知识点非常广泛,从基础的Git概念到具体的操作步骤,涵盖了对版本控制系统的理解,分布式与集中式版本控制的比较,以及在Linux环境下安装和配置Git服务器的详细过程。...

    Linux与WindowsCVS服务器配置与使用[借鉴].pdf

    【Linux与Windows CVS服务器配置与使用】 CVS(Concurrent Versions System)是一种广泛使用的版本控制系统,尤其在软件开发领域,它允许团队成员协同工作并跟踪代码的修改历史。本篇将详细阐述如何在Linux和...

    CVS教学电子书如何安装CVS,CVS使用

    3. **创建CVS服务器**:如果你想设置一个CVS服务器供团队使用,你需要配置CVSROOT,这是一个包含CVS仓库和用户权限信息的特殊目录。 4. **客户端设置**:对于开发者,安装完成后,他们需要配置CVS的客户端,包括...

    为Linux配备CVS.pdf

    在Linux上配置和使用CVS,首先需要在服务器上安装CVS服务端程序,并设置相应的仓库目录。然后,客户端可以通过CVS命令行工具连接到服务器,进行版本的检出、提交、更新等操作。例如,用户可以使用`cvs checkout`命令...

    Eclipse中CVS的使用

    1. **安装CVS服务器**:CVS服务器通常在Linux或Unix系统上运行,可以使用包管理器(如apt-get、yum)安装。在Windows上也有预编译的版本,如CVSNT。确保正确安装并启动了CVS服务。 2. **配置CVS根目录**:CVS服务器...

    cvs operations on linux

    - **初始化仓库(cvsd init)**:首先需要在服务器上创建一个CVS仓库,这个仓库将保存所有的文件版本。 - **导入项目(cvs import)**:将现有的项目导入到CVS仓库,通常在首次使用CVS时进行。 - **检出代码(cvs...

Global site tag (gtag.js) - Google Analytics