shawnfree 发表于 2013-1-16 02:28:40

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

现将在Linux系统搭建CVS服务器的过程做一下总计,开始百度一下,资料很多,于是就按照网上说的进行操作,总共分七步骤:
   一、查看LInux操作系统上是否安装了CVS,命令如下:
         # rpm –q cvs
   如果没有安装,则可以在网上下载cvs软件的rpm包(可以http://rpm.pbone.net/去找),也可以在redhat的安装光盘中找。然后运行如下命令来安装:
            # rpm –ivh cvs-1.11.2-10.rpm   
二、创建CVS用户组及用户,命令如下:
         # groupadd cvs (创建一个名为cvs的用户组)   # useradd -g cvs cvsroot(创建cvsroot用户并将此用 户添加到cvs群组中)   # passwd cvsroot (设置cvsroot用户密码)      
三、创建CVS启动脚本,命令如下:
            # 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服务,命令如下:
               # service xinetd restart      
       查看是否启动:
               # netstat –lnp | grep 2401      
       屏幕显示:
          tcp   0    0 0.0.0.0:24010.0.0.0:*    LISTEN1643/xinetd
       说明已经正常启动,如果没有请做如下检查:
      <1>请检查vi /etc/xinetd.d/cvspserver文件中的server = /usr/bin/cvs
             路径和实际执行文件所在位置是否一致;(一般这步骤即可解决该问题)
       <2>请重新检查配置过程是否有错误或者遗漏;
      <3>最后还必须检查防火墙的设置,把2401端口打开。
    五、初始化cvs服务器环境,命令如下:
                  # cvs -d /cvstest init      
      初始化成功后,会在/home/cvsroot目录下创建一个CVSROOT的目录,这样/home/cvsroot就成为CVS服务器的根目录了。
    六、CVS服务的用户管理,命令如下
                  # 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”需要执行以下命令:
                   # chmod +xpassword.pl //增加执行脚本的权限          #./password.pl liujt123456>>home/cvsroot/CVSROOT/passwd         
    七、向CVS服务器中导入新的工程,命令如下:
      假设工程ant1在/opt目录下,首先进入工程所在位置,
                   # cd /opt/ant1      
      执行如下命令,将ant1工程导入到CVS服务器中,
               # 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”—》“ShareProject”,然后选择自己的CVS服务器,点击"next"按钮,将源代码导入到CVS服务器中,这种导入方法,可以不必对源码进行时时同步。
   这个问题解决了,可是还有个问题就是我搭建的CVS服务器不能对用户进行权限管理。从网上搜了搜发现使用CVSACL能够进行CVS权限访问控制。见cvs(cvsacl)从介绍到搭建全程跟踪3
页: [1]
查看完整版本: cvs从介绍到搭建全程跟踪2