当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 为编程开发准备一台友好的CVS服务器

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 52 ::
收藏到网摘: n/a


真正做起来开发工作,才发现一台CVS服务器是必不可少的,即使是很少的开发人员的项目,
使用CVS也会起到很大的作用,具体什么作用,大家去体会:)

下面就把我架设CVS服务器的过程说说,和诸位前辈的不同之处在于我架设了一个WEB界面,
所以说是"友好的",通过WEB界面可以非常直观的浏览代码,查看图形化的修改记录,(提交
可以log到MySQL数据库--ThisfeatureisacloneoftheMozillaProjects
Bonsaidatabase.),目前SourceForge正在使用此界面的较低版本.

功能简介:
1:BaseCVSServer;
2:repositorybrowsing.
3:SQLcheckindatabase.
4:Colorizesourcecode.
5:Candisplayaclickable,graphicaloffilesinaCVSrepository.
6:generatetarballfromarepositoryonthefly.


OK,Letsgo!

1:初始化环境

#groupaddcvs

#mkdir/home2/cvsroot
#useradd-gcvs-Gcvs-d/home2/cvsrootcvsroot

#su-cvsroot
$chmod775.

OK!

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

#more/etc/services|grepcvspserver
cvspserver2401/tcp#CVSclient/serveroperations
cvspserver2401/udp#CVSclient/serveroperations

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

#vi/etc/xinetd.d/cvspserver
servicecvspserver
{
disable=no
flags=REUSE
socket_type=stream
wait=no
user=root
server=/usr/bin/cvs
server_args=-f--allow-root=/home2/cvsrootpserver
log_on_failure+=USERID
}

:wq

#ls/etc/xinetd.d/cvspserver
/etc/xinetd.d/cvspserver

脚本好了!

#su-cvsroot
$cvs-d/home2/cvsrootinit
#servicexinetdrestart

看看有没有?

#netstat-l|grepcvspserver
tcp00*:cvspserver*:*LISTEN

Great!


3:AddaWebInterface,viewcvs-0.9.2


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

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

a:
Python1.5orlater(http://www.python.org/)
Rh7.2竟然有两个python,1.5和2.1,更加有个性!
b:
RCS,RevisionControlSystem(http://www.cs.purdue.edu/homes/trinkle/RCS/)
Rh7.2自带.
c:
read-only,physicalaccesstoaCVSrepository(Seehttp://www.cvshome.org/formoreinformation)
Rh7.2自带.
d:
awebservercapableofrunningCGIprograms(forexample,Apacheathttp://httpd.apache.org/)
viewcvs-0.9.2文档竟然说apache是可选项:(
e:
GNU-difftoreplacebrokendiffimplementations(http://www.gnu.org/software/diffutils/diffutils.html)
Rh7.2自带.
f:MySQLtocreateandqueryacommitdatabase(http://www.mysql.com/)
Rh7.2自带.
g:(http://sourceforge.net/projects/mysql-python)(andPython1.5.2orlater)
去拉
h:EnscripttocolorizecodedisplayedfromtheCVSrepository(http://people.ssh.com/mtr/genscript/)
去拉
i:CvsGraphforagraphicalrepresentationoftheCVSrevisions(http://www.akhphd.au.dk/~bertho/cvsgraph/)
去拉

#tarzxvfcvsgraph-1.1.3.tar.gz
#cdcvsgraph-1.1.3
#./configure
#make
#cpcvsgraph/usr/bin
#mkdir/etc/cvsgraph
#cpcvsgraph.conf/etc/cvsgraph

#rpm-ivhegenix-mx-base-2.0.3-py2.1_1.i386.rpm
#rpm-ivhMySQL-python-0.9.1-1py2.i386.rpm


#tarzxvfviewcvs-0.9.2.tar.gz
#cdviewcvs-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/

[email protected]

[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:Adduser

#usermod-Gcvsusername#使用系统验证

OK,enjoyCVS!


5:微调

#mkdir/var/lock/cvs
#mkdir/var/lock/cvs/CVSROOT
#chmod-R775/var/lock/cvs
#chown-Rcvsroot.cvs/var/lock/cvs
#su-hleil
$exportCVSROOT=:pserver:[email protected]:/home2/cvsroot
$cvslogin
$cvscheckoutCVSROOT
$cdCVSROOT
$viloginfo
ALL(echo%{sVv};cat)|/usr/local/viewcvs-0.9.2/loginfo-handler#SQLcheckin
:wq

$viconfig
SystemAuth=yes#使用系统验证
LockDir=/var/lock/cvs#forsecurity
LogHistory=all
:wq

$cvscommit
#servicexinetdrestart


Great!终于好了!

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