`

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

    博客分类:
  • cvs
阅读更多
   现将在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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics