作者:龚云卿 2007年2月13日
一般我们可能会建立多个CVS仓库,想利用CVSWeb进行页面访问,对这些仓库的访问不能开放权限,只能是仓库的用户才能访问。为了满足这样的需求,我们对CVSWeb和Apache做这样的配置。
1)为每个仓库建立cvsweb目录
因为每个仓库都需要独立的一套CVSWeb文件,所以在可执行的cgi目录下为每个仓库先建立目录,这里举个例子,如/web/apache/cgi-bin/cvsroot。
2)CVSWeb的安装
安装版本是cvsweb-2.0.6.tar.gz,将cvsweb.cgi和cvsweb.conf复制到可安装目录下(web/apache/cgi-bin/cvsroot)。
chmod a+x cvsweb.cgi。
编辑cvsweb.cgi,修改下面内容:
$urlpath='/cgi-bin/cvsroot';
找到有"== EDIT this =="字样的行,将下面改成类似这样:
for ("$mydir/cvsweb.conf", '/web/apache/cgi-bin/cvsroot/cvsweb.conf') {
再编辑/web/apache/cgi-bin/cvsroot/cvsweb.conf文件,找到"@CVSrepositories",将下面改成类似这样:(CVSROOT为/cvs/cvsroot)
'cvsroot' => ['cvsroot', '/cvs/cvsroot']。
3)修改httpd.conf
在httpd.conf中加入下面的内容:
<Directory "/web/apache/cgi-bin/cvsroot/">
AuthName "CVS Authorization"
AuthType Basic
AuthUserFile /cvs/cvsroot/CVSROOT/passwd
require valid-user
</Directory>
这使得访问cvsweb时,使用cvsroot仓库的用户和密码进行登录。
重启Apache。
可以可以访问CVSWeb了:http://192.168.2.8/cgi-bin/cvsroot/cvsweb.cgi/。
4)按上述方法添加其他仓库的CVSWeb。可以为这些仓库的CVSWeb建立一个统一访问的Html页面。