免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1329 | 回复: 1
打印 上一主题 下一主题

linux系统下CVSTrac配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-19 12:10 |只看该作者 |倒序浏览
linux系统下CVSTrac配置

来源:http://oisp.net 作者:jackbillow   转载请注明出处,谢谢!


关于CVSTrac
CVSTrac 是一个开放源代码、与CVS 搭配使用的任务管理和错误跟踪工具,基于Web 方式访问,非常适合网上分布式小团队协同开发使用。
CVSTrac具有如下一些特点:
􀁺 基于WEB方式管理CVS的CVSROOT/passwd用户账号文件
􀁺 根据CVS提交注释自动生成变更集日志
􀁺 可自定义查询报表格式及颜色显示
􀁺 单一的可执行文件支持CGI、inetd及独立的WEB服务器方式运行
􀁺 内建一个CVS仓库WEB浏览器
􀁺 内建一个Wiki可在线编辑的内容发布系统
􀁺 内建一个文件型数据库引擎SQLite
􀁺 非常少的内存、硬盘、CPU占用
􀁺 支持为每个用户设定单独的权限
􀁺 支持匿名访问
􀁺 支持Unix/Linux/Windows及不同平台间数据库兼容
􀁺 Unix/Linux下支持Chroot安全运行方式
􀁺 在GNU Public License协议下发布


1.下载:从http://www.sqlite.org/download.html下载
我用的是:sqlite-2.8.17.tar.gz
#cd /home
#wget http://www.sqlite.org/sqlite-2.8.17.tar.gz
#tar zxvf sqlite-2.8.17.tar.gz
#mkdir sqlite_make
#cd sqlite_make
#../sqlite-2.8.17/configure
#make install
如果没有出现错误,就编译安装成功了。


2.下载:从http://www.cvstrac.org/cvstrac/wiki?p=DownloadCvstrac 下载
我用的是http://www.cvstrac.org/cvstrac-2.0.0.tar.gz 这个地址下载的cvstrac-2.0.0.tar.gz
#cd /home
#wget http://www.cvstrac.org/cvstrac-2.0.0.tar.gz
#tar zxvf cvstrac-2.0.0.tar.gz
#cd cvstrac-2.0.0
#vi linux-gcc-mk
修改:
SRCDIR = /home/chedong/cvstrac-1.1.2
INSTALLDIR = /usr/local/bin
然后
#mv linux-gcc.mk Makefile
#make
#make install

没有什么错误cvstrac编译安装成功!
我编译时出现错误:cvstrac: error while loading shared libraries: libsqlite.so.0: cannot open shared object file
我在/etc/ld.so.conf添加/usr/local/lib后用命令ldconfig就解决了。



3.初始化数据库

cvstrac init /home/cvsroot cvstest

注:/home/cvsroot  是你放数据库文件的目录。
    cvstest 是数据库的名字,也是你以后用web访问的url。

4.启动cvstrac

官方介绍了三中方法:
(1)用inetd或xinetd来启动。
(2)用cgi脚本来启动。
(3)用独立的 webserver来启动。

这个方法介绍如下:

(1)如果使用inetd启动:
编辑:/etc/inetd.conf添加如下内容:
80 stream tcp nowait.1000 cvs /usr/bin/cvstrac cvstrac http /home/cvsroot

如果用xinetd启动的:
#touch /etc/xinetd.d/http
#vi /etc/xinetd.d/http
添加如下内容:
service http
   {
     socket_type = stream
     wait        = no
     user        = cvsroot
     server      = /usr/bin/cvstrac
     server_args = http /home/cvsroot
   }
#/etc/init.d/xinetd restart

创建一个CVSTrac启动脚本/var/www/cgi-bin/cvstrac内容如下:
#!/bin/sh
/usr/bin/cvstrac cgi /home/cvsroot
创建完成后,为脚本设置执行权限:
chmod +x cvstrac
指定数据库的访问权限.


然后用http://your_server_ip/cgi-bin/run-cvstrac/cvstest/
来访问。


大家都是高手,我就不用介绍上面的各个步骤的意思了。

(3)如果用webserver启动:
不能使用root用户来启动。
#su - cvsroot
#cvstrac server 8008 /home/cvsroot
或#cvstrac chroot / cvsroot server 8008 /home/cvsroot


注:8008 用你想用的端口来替换
    /home/cvsroot 是你cvs的$home目录。
    chroot / cvsroot 是把root权限更改成cvsroot访问。
然后用http://your_server_ip:8008/cvstest/
   

5.配置过程中可能要遇到apache用户访问目录权限问题,我就不在这里说了。


配置成功,登陆默认用户密码都是:setup


6.如果有多个工程:
  可以用如下来做:

cvstrac init /home/cvsroot test2
cvstrac init /home/cvsroot test3

7.有好多这样的文章,但我个人觉得都不实用,都是cp的,没有实践过。
例如:http://www.chedong.com/tech/cvs_card.html
上面写的好多错误(他有些地方对我们很有用),根据他写的就不会配置成功。
修改了cvs中工程的权限,那用cvs的web管理就没有意义了。



附录:
1.CVSTrac命令行参数
CVSTrac命令行参数如下:
Usage: cvstrac <command> ?<directory>? ?<project>?
Or: cvstrac chroot <root> <user> <command> ?<directory>? ?<project>?
Or: cvstrac server <port> <directory> ?<project>?
Or: cvstrac chroot <root> <user> server <port> <directory> ?<project>?
Where:
<command> is one of "cgi", "http", "init", or "update".
<directory> is the directory that contains the project database.
<project> is the name of the project.
<port> is a TCP port number to listen on.
<root> is a chroot jail directory.
<user> is the user to run as.
第一种形式的命令行,用来以cgi或inetd方式运行CVSTrac,以及初始化(init)及更新(update)数据库。
第三种形式的命令行,用来以独立的Web服务器方式启动CVSTrac服务。
<directory>目录参数指向包含有CVSTrac数据库的目录。
<project>可选参数,表示CVSTrac数据库名,不需要扩展名。如果指定了该参数,用户访问CVSTrac服务时不需要再指定数据库名,此时

CVSTrac服务只支持一个数据库。如果省略该参数,该CVSTrac服务可以同时支持多个数据库,由用户在URL中指定数据库的名称。
第二和第四种形式的命令行,用于高安全性的chroot方式启动CVSTrac服务。chroot运行方式本文档不做介绍,如果需要使用,请查阅CVSTrac

官方文档:
http://www.cvstrac.org/cvstrac/wiki?p=ChrootJailForCvstrac



2.有关CVSTrac运行环境
要正确地运行CVSTrac,需要为其提供一定的运行环境,包括外部程序支持及提供CVSTrac进程足够的权限。绝大部分CVSTrac配置问题都是因为

权限引起的,建议管理员仔细阅读下列内容。
CVSTrac运行时需要以下外部程序的支持,请检查你的系统中存在以下程序:
&#1048698; co:该命令用来从CVS仓库的“*,v”文件中取出某个版本的文件。
&#1048698; diff:该命令间接被rcsdiff命令调用。
&#1048698; rcsdiff:用来获得CVS文件两个版本之间的差异。
&#1048698; rlog:用来从CVS文件中查找提交注释、分支以及标签信息。
CVSTrac对权限的要求:
&#1048698; 基于安全考虑,CVSTrac不能以root身份运行。
&#1048698; CVSTrac进程要有对CVSTrac数据库所在目录的读写权限(sqlite写数据库时需要在数据库目录中创建临时文件)
&#1048698; CVSTrac进程要有对CVSTrac数据库文件的读写权限。
&#1048698; CVSTrac进程要有对CVS仓库文件以及CVSROOT/history文件的读权限。
&#1048698; 如果设置由CVSTrac管理passwd文件,CVSTrac进程要有对passwd、readers、writers文件的写权限,如果passwd等文件不存在,还需要有对

CVSROOT目录的写权限。另外,由于CVSTrac管理passwd文件时,会将CVSTrac进程所有者作为passwd文件中的本地映射帐号,故间接地还需要

CVSTrac进程所有者帐号有对CVS仓库的读写权限。
&#1048698; CVSTrac进程要有对前述几个外部程序的运行权限。
另外,还要检查服务器防火墙是否打开了CVSTrac服务的端口。

论坛徽章:
0
2 [报告]
发表于 2006-07-19 13:38 |只看该作者
没有顶啊。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP