六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 53|回复: 0

cvs从介绍到搭建全程跟踪2

[复制链接]

升级  8.67%

15

主题

15

主题

15

主题

秀才

Rank: 2

积分
63
 楼主| 发表于 2013-1-16 02:28:40 | 显示全部楼层 |阅读模式
现将在Linux系统搭建CVS服务器的过程做一下总计,开始百度一下,资料很多,于是就按照网上说的进行操作,总共分七步骤:
   一、查看LInux操作系统上是否安装了CVS,命令如下:
           [root@localhost /]# rpm –q cvs
     如果没有安装,则可以在网上下载cvs软件的rpm包(可以http://rpm.pbone.net/去找),也可以在redhat的安装光盘中找。然后运行如下命令来安装:
            [root@localhost /]# rpm –ivh cvs-1.11.2-10.rpm     
  二、创建CVS用户组及用户,命令如下:
           [root@localhost /]# groupadd cvs (创建一个名为cvs的用户组)     [root@localhost /]# useradd -g cvs cvsroot(创建cvsroot用户并将此用 户添加到cvs群组中)     [root@localhost /]# passwd cvsroot (设置cvsroot用户密码)      
  三、创建CVS启动脚本,命令如下:
              [root@localhost /]# vi /etc/xinetd.d/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_success += USERID       log_on_failure += USERID      }            
     注:其中,server指定CVS可执行文件路径,默认安装就是/usr/bin/cvs,server_args指定源代码库路径及认证方式等,例子中把源代码存放在/home/cvsroot的主目录中,也可以另外指定路径,但必须注意权限设置,pserver是密码认证方式,这种方式的安全性要差一些,但操作起来比较简单。请注意每行等号左右都有一个空格,否则无法启动服务。
    四、重新启动xinetd服务,命令如下:
                 [root@localhost /]# service xinetd restart      
       查看是否启动:
                 [root@localhost /]# netstat –lnp | grep 2401      
       屏幕显示:
          tcp   0    0 0.0.0.0:2401  0.0.0.0:*    LISTEN  1643/xinetd
       说明已经正常启动,如果没有请做如下检查:
        <1>请检查vi /etc/xinetd.d/cvspserver文件中的server = /usr/bin/cvs
             路径和实际执行文件所在位置是否一致;(一般这步骤即可解决该问题)
       <2>请重新检查配置过程是否有错误或者遗漏;
        <3>最后还必须检查防火墙的设置,把2401端口打开。
    五、初始化cvs服务器环境,命令如下:
                  [root@localhost /]# cvs -d /cvstest init        
        初始化成功后,会在/home/cvsroot目录下创建一个CVSROOT的目录,这样/home/cvsroot就成为CVS服务器的根目录了。
    六、CVS服务的用户管理,命令如下
                  [root@localhost /]# vi /home/cvsroot/CVSROOT/password.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 $user = shift;          my $plaintext = shift;          my $crypttext = crypt ($plaintext, $salt);          print "$user:${crypttext}:cvsroot";          print "\n";        
         网上也有类似的shell,执行password.pl创建用户
          见附件"password.pl
     如果我要创建用户"liujt",命令为“123456”需要执行以下命令:
                   [root@localhost /]# chmod +x  password.pl //增加执行脚本的权限          [root@localhost /]#./password.pl liujt123456>>home/cvsroot/CVSROOT/passwd         
    七、向CVS服务器中导入新的工程,命令如下:
        假设工程ant1在/opt目录下,首先进入工程所在位置,
                   [root@localhost /]# cd /opt/ant1        
        执行如下命令,将ant1工程导入到CVS服务器中,
                 [root@localhost /]# cvs import –m  “init ant1 project” ant1 tengtu start        
     说明:
          import 是cvs的命令之一,表示向cvs仓库输入项目文件。
         -m参数后面的字串是描述文本,对项目进行描述,如果不加 -m 参数,那么cvs会
         自动运行一个编辑器(一般是vi,但是可以通过修改环境变量EDITOR来改成你喜
         欢用的编辑器)让你输入信息,ant1 是项目名称(实际上是仓库名,在CVS服务
         器上会存储在以这个名字命名的仓库里)
         tengtu是这个厂商标记。
         start 是每次 import 标识文件的输入层次的标记
     CVS服务器已经搭建完毕,当用eclipse工具将CVS源代码下载到本地时,发现工程中class文件显示为修改的状态(出现">"这样的符号),但是我从公司才CVS服务器上下载工程可不是这样的。经研究发现class文件没有必要在CVS服务器上时时同步,所以更改将工程导入CVS服务器中,在eclipse中选择工程,右击点击“Team”—》“Share  Project”,然后选择自己的CVS服务器,点击"next"按钮,将源代码导入到CVS服务器中,这种导入方法,可以不必对源码进行时时同步。
     这个问题解决了,可是还有个问题就是我搭建的CVS服务器不能对用户进行权限管理。从网上搜了搜发现使用CVSACL能够进行CVS权限访问控制。见cvs(cvsacl)从介绍到搭建全程跟踪3
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表