CVS管理系统配置 HOWTO

CVS管理系统配置 HOWTO

Author: ycflash
Date: 2005-9-11

1. CVS 的安装

 1.1 安装系统 RHEL AS 4 / RHEL AS 4 U1
 
 1.1.1 自行安装 httpd
 
 1.2 检查系统自带的CVS是否安装:
  #rpm -q cvs
     若没有安装则自行安装:
      #rpm -ivh cvs*.rpm
      or build from src
      #tar zxvf cvs*.tar.gz
      #./configure
      #make ; make install
      
 1.3 配置CVS用户和组  
  添加组
  #groupadd cvs
  
  添加用户
  #useradd -g cvs -G cvs -d /cvsroot cvsroot
  
  修改cvs用户密码
  #passwd cvs
  
  若有必要修改 /cvsroot 权限
  #chmod 775 /cvsroot
  
 1.4 创建项目目录
  #su cvs
  $mkdir /cvsroot/cvs-test
  
 1.5 开始建立仓库
  $cvs -d /cvsroot/cvs-test init
   
 1.6 建立CVS启动配置文件
  #vi /etc/xinetd.d/cvspserver
  
  内容如下:
   service cvspserver
   {
     port = 2401
     socket_type = stream
     protocol = tcp
     wait = no
     user = root
     passenv = PATH
     server = /cvsroot/cvs.run
     log_on_failure += USERID
   }
   
 1.7 编写 cvs.run 启动脚本
  #vi /cvsroot/cvs.run
  
  内容如下:
   #!/bin/bash
   /usr/bin/cvs -f /
   --allow-root=/cvsroot/cvs-test /
   --allow-root=/cvsroot/cvs-test2 /
   pserver
 1.8 检查能否启动 CVS 服务器
  #service xinetd restart
  #netstat -ln | grep 2401
  
  得到下面信息就表示启动成功:
  tcp      0   0 0.0.0.0:2401      0.0.0.0:*       LISTEN
  
 1.9  编写 Perl 脚本以生成等用户的密码
  #vi /cvsroot/pwd.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}";
  print "/n";
  
         #chmod +x /cvsroot/pwd.pl
 
 1.10 为项目添加用户
  
  $vi /cvsroot/cvs-test/CVSROOT/passwd
  
  内容如下:
  ycflash:****:cvs
  
  注: ycflash 是该项目的一个用户,****是用 pwd.pl 生成密码。
       如要为 ycflash 设置密码为 123321 , 则命令为
       $/path/to/pwd.pl 123321 或 $/path/to/pwd "123321"
       匿名用户只需密码为空即可。
 
 1.10.1 设置匿名用户为只读
  $vi /cvsroot/cvs-test/CVSROOT/readers
   添加anonymous(只读)用户 id 即可
  

 1.11 项目仓库就建立好了,添加更多用户就往 passwd 文件中添加就可。
 
 1.12 源代码的入库
  
  $tar zxvf smthbbs-2.tgz
  $cd smthbbs-2  
  $export CVSROOT=/cvsroot/cvs-test
  $cvs import -m "Imported sources" smthbbs-2 cvs start
   注: smthbbs-2 是module的名字, cvs为发布者
 
 1.13 检查结果
  $cd ..
  $mv smthbbs-2 src
  $cvs co smthbbs-2
  $diff -r byrbbs-2.0dev smthbbs-2 //检查是否正确

 1.14 用pserver方式check out测试(略)
 

2. CVSWEB + CVSGRAPH + ENSCRIPT + CVShistory 的安装

 2.1 软件准备:
  cvsgraph-1.5.2.tar.gz 
  enscript-1.6.4.tar.bz2
  cvsweb-3.0.5.tar.gz
  IPC-Run-0.78.tar.gz
  cvshistory-2.2.tar.bz2
  
     说明: 以下命令 cd xyz-* 代表进入解压后的目录
  
 2.2 CVSWEB 的安装
  #tar zxvf cvsweb-3.0.5.tar.gz
  #cd cvsweb*
  #cp cvsweb.cgi /usr/local/httpd/cgi-bin/
  #chmod 755 /usr/local/httpd/cig-bin/cvsweb.cgi
  #cp -r icons css /usr/local/httpd/htdocs/cvs/
  #cp cvsweb.conf /usr/local/etc/cvsweb/cvsweb.conf
  #vi /usr/local/etc/cvsweb/cvsweb.conf
   注:修改icon和css的路径(修改为 web 的路径), 修改CVS仓库路径设置
 
 2.3 IPC-RUN Perl 模块的安装
  #tar zxvf IPC-RUN-0.78.tar.gz
  #cd IPC-*
  #./configure
  #make
  #make install
  
 2.4 CVSGRAPH 的安装
  #tar zxvf cvsgraph-1.5.2.tar.gz
  #cd cvsgraph-*
  #./configure
  #make
  #cp cvsgraph /usr/local/bin
  #cp cvsgraph.conf /usr/local/etc/cvsgraph.conf
  
  #vi /usr/local/etc/cvsweb/cvsweb.conf
   修改$cvsgraph_config为:
  $cvsgraph_config = "/usr/local/etc/cvsgraph.conf";
  
 2.5 ENSCRIPT 的安装
  #tar jxvf enscript-1.6.4.tar.bz2
  #cd enscript-*
  #./configure
  #make
  #make install
  
  #cd ..
  #cp cvsweb-*/enscript/*  /usr/local/share/enscript/hl/
  
 2.6 CVSHistory 的安装
  #tar jxvf cvshistory-2.2.tar.bz2
  #cp cvshistory-*/cvshistory.cgi /usr/local/httpd/cgi-bin/
  #cp cvshistory-*/cvshistory.conf /usr/local/etc/
  #vi /usr/local/etc/cvshistory.conf
  
   修改 HISTORY 为:
   HISTORY = {
        '':         "/cvsroot/cvs-test/CVSROOT/history",
   }
    
   修改 SCRIPTPATH = "viewcvs.cgi" 为 SCRIPTPATH = "cvsweb.cgi"
   以便在 cvshistory 中可以直接跳转到变更的文件/目录。
      
  #chmod 755 /usr/local/httpd/cgi-bin/*cvs*.cgi

 
 2.7 重启 httpd
  #/usr/local/httpd/bin/apachectl restart
  
 2.8 访问测试
  http://localhost/cgi-bin/cvsweb.cgi
  
  
  
到此就完成安装设置了。

   
  

你可能感兴趣的:(cvs,perl,icons,脚本,stream,测试)