cvsweb安装

CVSWEB就是CVS的WEB界面,可以大大提高程序员定位修改的效率:
使用的样例可以看:http://www.freebsd.org/cgi/cvsweb.cgi

假定:apache安装在/usr/local/apache2
1、下载cvsweb(当前最新版3.0.6)
http://people.freebsd.org/~scop/cvsweb/cvsweb-3.0.6.tar.gz

2、解包
tar zxvf cvsweb-3.0.6.tar.gz

3、把配置文件cvsweb.conf复制到apache2的配置目录下
cd cvsweb-3.0.6
cp cvsweb.conf  /usr/local/apache2/conf
修改cvsweb.conf,指定CVSrepositories路径。
vi /usr/local/apache2/conf/cvsweb.conf
查找"@CVSrepositories = " ,有如下字样:
cvsweb安装_休闲@CVSrepositories = (
cvsweb安装_休闲        'local'   => ['Local Repository', '/var/cvs'],
cvsweb安装_休闲#       'freebsd' => ['FreeBSD',          '/var/ncvs'],
cvsweb安装_休闲#       'openbsd' => ['OpenBSD',          '/var/ncvs'],
cvsweb安装_休闲#       'netbsd'  => ['NetBSD',           '/var/ncvs'],
cvsweb安装_休闲#       'ruby'    => ['Ruby',             '/var/anoncvs/ruby'],

将local的最后部分:'/var/cvs',更改为你的cvs仓库所在目录。

4、其它个性化设置
cvsweb.conf还有许多其它个性化设置,常见的有这些变量:
$logo 图标设置
$defaulttitle 标题设施
$address 管理员email地址设置
$long_intro 介绍文字
$short_instruction 说明文字

5、把cvsweb.cgi复制到apache的cgi-bin目录的cvsweb子目录下:
cp cvsweb.cgi /usr/local/apache2/cgi-bin/cvsweb/
更改cvsweb.cgi的$config变量值为你的cvsweb.conf所在路径。
vi /usr/local/apache2/cgi-bin/cvsweb.cgi
查找$config,找到有:
##### Start of Configuration Area ########
##### End of Configuration Area   ########
字样部分,修改$config为:
$config = '/usr/local/apache2/conf/cvsweb.conf';

6、中文支持
vi /usr/local/apache2/cgi-bin/cvsweb.cgi
找到sub html_header($)函数。
在<head> <title>之间插入一行:<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

7、复制所有的icons到apache的icons目录
cp icons/*  /usr/local/apache2/icons
 
8、增加访问控制
增加cvsweb访问的web用户认证。
切换到/usr/lcal/apache2/conf目录,先生成passwd:
/usr/local/apache2/bin/htpasswd -c cvsweb.paaswd user
其中user为指定的用户名。
该命令在当前目录生成cvsweb.passwd文件,在下面配置中需指定该文件所在位置。

再修改httpd.conf配置文件,增加:
<Directory "/usr/local/apache2/cgi-bin/cvsweb/">
 AuthName "CVS Authorization"
 AuthType Basic
 AuthUserFile /usr/local/apache2/conf/cvsweb.passwd
 require valid-user
</Directory>

注:
1、如果不能访问http://localhost/cgi-bin/cvsweb/cvsweb.cgi,查看/usr/local/apache2/logs/error_log,查找错误原因。
2、安装cvsweb.cgi前,必须已安装File::Temp、IPC::Run、URI等3个perl模块。
3、安装cvsweb.cgi前,cvs必须成功安装。使用:
netstat -lnp | grep 2401 查看cvs是否已运行。