分享
 
 
 

为编程开发准备一台友好的CVS服务器

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

真正做起来开发工作,才发现一台CVS服务器是必不可少的,即使是很少的开发人员的项目,

使用CVS也会起到很大的作用,具体什么作用,大家去体会:)

下面就把我架设CVS服务器的过程说说,和诸位前辈的不同之处在于我架设了一个WEB界面,

所以说是"友好的",通过WEB界面可以非常直观的浏览代码,查看图形化的修改记录,(提交

可以log到MySQL数据库--This feature is a clone of the Mozilla Project's

Bonsai database.),目前SourceForge正在使用此界面的较低版本.

功能简介:

1:Base CVS Server;

2:repository browsing.

3:SQL checkin database.

4:Colorize sourcecode.

5:Can display a clickable, graphical of files in a CVS repository.

6:generate tarball from a repository on the fly.

OK,Let's go!

1:初始化环境

#groupadd cvs

#mkdir /home2/cvsroot

#useradd -g cvs -G cvs -d /home2/cvsroot cvsroot

#su - cvsroot

$chmod 775 .

OK!

2:启动CVS Server

诸位大虾已经有了很精辟的说明,拿来就是了!:P

#more /etc/services|grep cvspserver

cvspserver 2401/tcp # CVS client/server operations

cvspserver 2401/udp # CVS client/server operations

OK,RedHat系统不傻,可以写脚本了.

#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=/home2/cvsroot pserver

log_on_failure += USERID

}

:wq

#ls /etc/xinetd.d/cvspserver

/etc/xinetd.d/cvspserver

脚本好了!

#su - cvsroot

$cvs -d /home2/cvsroot init

#service xinetd restart

看看有没有?

#netstat -l |grep cvspserver

tcp 0 0 *:cvspserver *:* LISTEN

Great!

3:Add a Web Interface,viewcvs-0.9.2

URL:http://viewcvs.sourceforge.net/

要求比较个性,很多很多!列表:

a:

Python 1.5 or later(http://www.python.org/)

Rh7.2竟然有两个python,1.5和2.1,更加有个性!

b:

RCS, Revision Control System(http://www.cs.purdue.edu/homes/trinkle/RCS/)

Rh7.2自带.

c:

read-only, physical access to a CVS repository(See http://www.cvshome.org/ for more information)

Rh7.2自带.

d:

a web server capable of running CGI programs(for example, Apache at http://httpd.apache.org/)

viewcvs-0.9.2文档竟然说apache是可选项:(

e:

GNU-diff to replace broken diff implementations(http://www.gnu.org/software/diffutils/diffutils.html)

Rh7.2自带.

f:MySQL to create and query a commit database(http://www.mysql.com/)

Rh7.2自带.

g:(http://sourceforge.net

/projects/mysql-python)(and Python 1.5.2 or later)

去拉

h:Enscript to colorize code displayed from the CVS repository(http://people.ssh.com/mtr/genscript/)

去拉

i:CvsGraph for a graphical representation of the CVS revisions(http://www.akhphd.au.dk/~bertho/cvsgraph/)

去拉

#tar zxvf cvsgraph-1.1.3.tar.gz

#cd cvsgraph-1.1.3

#./configure

#make

#cp cvsgraph /usr/bin

#mkdir /etc/cvsgraph

#cp cvsgraph.conf /etc/cvsgraph

#rpm -ivh egenix-mx-base-2.0.3-py2.1_1.i386.rpm

#rpm -ivh MySQL-python-0.9.1-1py2.i386.rpm

#tar zxvf viewcvs-0.9.2.tar.gz

#cd viewcvs-0.9.2

#./viewcvs-install

#cp /usr/local/viewcvs-0.9.2/cgi/viewcvs.cgi /var/www/cgi-bin

#cp /usr/local/cvsview-0.9.2/PyFontify* /usr/lib/python2.1/

#cp /usr/local/cvsview-0.9.2/py2html* /usr/lib/python2.1/

OK!

/**********MySQL****************/

建两个用户,cvsroot(password:cvsroot)使用root权限,cvsread(password:cvsread)

使用只读权限.

#/usr/local/cvsview-0.9.2/make-datebase

OK!

#vi /usr/local/viewcvs-0.9.2/viewcvs.conf

cvs_roots =

Development : /home2/cvsroot

rcs_path = /usr/bin/

address = hleil@vmail.com

[cvsdb]

host = localhost

database_name = ViewCVS

user = cvsroot

passwd = cvsroot

readonly_user = cvsread

readonly_passwd = cvsread

row_limit = 1000

py2html_path = /usr/lib/python2.1

enscript_path = /usr/bin/

allow_tar = 1

use_cvsgraph = 1

********************************************************

***如果同时安装python-1.x和python-2x(比如RedHat7.2)

***以下千万注意(我们使用python-2.x)

********************************************************

cd /usr/local/viewcvs-0.9.2

loginfo-handler,standalone.py,cvsdbadmin

以及

cd /usr/local/viewcvs-0.9.2/cgi下的所有文件,

首行改为:#!/usr/bin/python2

#cp /usr/local/viewcvs-0.9.2/cgi/viewcvs.cgi /var/www/cgi-bin

http://127.0.0.1/cgi-bin/viewcvs.cgi/

OK了!

4:Add user

#usermod -G cvs username #使用系统验证

OK,enjoy CVS!

5:微调

#mkdir /var/lock/cvs

#mkdir /var/lock/cvs/CVSROOT

#chmod -R 775 /var/lock/cvs

#chown -R cvsroot.cvs /var/lock/cvs

#su - hleil

$export CVSROOT=:pserver:cvsroot@vmail.com:/home2/cvsroot

$cvs login

$cvs checkout CVSROOT

$cd CVSROOT

$vi loginfo

ALL (echo %{sVv}; cat) | /usr/local/viewcvs-0.9.2/loginfo-handler #SQL checkin

:wq

$vi config

SystemAuth=yes #使用系统验证

LockDir=/var/lock/cvs #for security

LogHistory=all

:wq

$cvs commit

#service xinetd restart

Great!终于好了!

呵呵,下面就开始你的代码之旅吧!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有