您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源配置管理工具 > cvs
Redhat7.0下CVSserver及webcvs配置
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/6 14:44:39 ] 推薦標(biāo)簽:

配置CVS server,費(fèi)了很大的力氣才把它搞定,我是菜鳥,希望高手不要那磚頭Pai me,我只是不希望其它菜鳥不再費(fèi)這么大的氣力了,其中引用其他作者的文字我用[/c&v]... [c&v/]指出了


我的系統(tǒng)為Redhat 7.0,運(yùn)行Apache

1.CVS Server配置

RHLinux# mount /mnt/cdrom (如果不好用的話,你可以試一下mount -t iso9669 /dev/cdrom /mnt/cdrom)

RHLinux# cd /mnt/cdrom/Redhat/RPM (不用解釋了吧)

RHLinux# rpm -ivh cvs-1.10.8.8.i386.rpm (安裝cvs,你可以用rpm -qpl ...看安裝的詳細(xì)信息)

RHLinux# vi /etc/service
(應(yīng)該有
cvspserver 2401/tcp # cvs client/server operations
cvspserver 2401/udp # cvs client/server operations
這兩行)


([/c&v]以下具體的作者我找不到了,所以,我不能寫出作者的姓名,sorry
感謝他的辛勤勞動(dòng)要使cvs正常運(yùn)行還需要對(duì)需要使用cvs的用戶進(jìn)行設(shè)置,下面是我在配置cvs使用的方法。首先建立一個(gè)用戶組cvs,可以使用groupadd或者addgroup命名,也可以直接編輯/etc/group文件添加這個(gè)組,然后添加一個(gè)用戶cvsroot, 然后修改/etc/passwd文件使cvsroot用戶的缺省組
是cvs組,而不是cvsroot組。建立/cvsroot目錄,然后修改/cvsroot的
屬主及屬性[c&v/])
RHLinux# groupadd cvs
RHLinux# adduser cvsroot
RHLinux# passwd cvsroot

修改/cvsroot的屬主及屬性
RHLinux# chown cvsroot.cvs /cvsroot
RHLinux# chmod 755 /cvsroot(原本應(yīng)該是771,但是我們要配置cvsweb.cgi,下面再談)。


RHLinux# cd /etc/x.netd.d

RHLinux# vi cvspserver(創(chuàng)建一個(gè)新文件,文件名隨意,注釋為文件內(nèi)容)
/************************************************
service cvspserver
(service后面的名稱一定要和你在/etc/service文件中的cvs服務(wù)名稱一樣,但是我不知道/etc/service文件中的cvs服務(wù)名稱可以改否,rpm方式安裝完后,那兩行在那了-----我是菜鳥嘛:)
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = --allow-root=/home/cvsroot pserver
log_on_failure += USERID
}
************************************************/

RHLinux# cvs -d /home/cvsroot init
(對(duì)cvs進(jìn)行初始化,你會(huì)發(fā)現(xiàn)/home/cvsroot下多了一個(gè)CVSROOT的子目錄)


RHLinux# /etc/init.d/xinetd restart (重新啟動(dòng)xinetd)
cvs -d :pserver:cvsroot@host:/home/cvsroot login
(輸入cvsroot用戶在服務(wù)器上的口令,沒有出現(xiàn)錯(cuò)誤提示表示成功了.)

(如果cvspserver成功起動(dòng)后,netstat -l | grep tcp應(yīng)能看到以下行:
tcp 0 0 *:cvspserver *:* LISTEN)


2.WinCvs(Windows下客戶端的配置):
[/c&v] 啟動(dòng)wincvs在Admin菜單中選擇preferences然后在global頁中設(shè)置CVSROOT,是:pserver:cvsroot@host:/cvsroot。在認(rèn)證方式中選擇passwd file on the cvs server,
在下面的版本號(hào)中選擇合適的版本,執(zhí)行Admin菜單中的login,在提示框輸入口令,如果
Output窗口出現(xiàn)以下提示:
*****CVS exited normally with code 0*****表示我們現(xiàn)在可以在Windows下使用cvs服務(wù)了。[c&v/]

 
如何使用wincvs把自己的項(xiàng)目加到cvs中去

1) Make sure that all the source files you want to check into CVS are on one directory (orsubdirectories). This directory (folder) should NOT contain anything else! That is, it should notcontain executables, object files (.o), class files (.class), etc. It should only contain the


source files.

1) 確認(rèn)你想加入的源文件全部在一個(gè)目錄下。這個(gè)目錄僅僅應(yīng)當(dāng)包含源文件,不應(yīng)該有其他任何的可執(zhí)行體、*.O,*.class....等類型的文件
2) 在wincvs "Modules"窗口中包含你的源文件的目錄被選中
3) 在菜單"Create" ->"Import Module"選擇目錄,把它導(dǎo)入CVS
4) 重命名你的目錄
5) 其他相關(guān)的內(nèi)容請(qǐng)看wincvs文檔

cvsweb配置


[/c&v]cvsweb是一個(gè)perl程序,現(xiàn)在的版本是1.93,記得要用新版,1.8以下有一個(gè)小小的漏洞,可以到綠盟查一查。
由于是cgi程序,是以nobody用戶執(zhí)行的,所以/cvsroot的屬性要設(shè)成775。開始我按章照搬,把屬性改成771,結(jié)果項(xiàng)目的目錄是不出來,埋葬了半天的青春:(還有記得把/cvsroot/CVSROOT/history的屬性改成666。cvsweb.conf里%CVSROOT數(shù)組的Configuration設(shè)成/cvsroot,是cvs倉庫的路徑不要那個(gè)長長CVSROOT變量。這些其實(shí)在它的說明文檔和程序注釋里都講到了,只是這個(gè)世界是懶人的世界:)

一切都陽春白雪,可以埋頭寫程序了?只是cvs還有一個(gè)小小的DoS漏洞要跟大家說一下:(
每個(gè)cvs的操作過程會(huì)以操作用戶的身份在/tmp下臨時(shí)建一個(gè)鎖定了的目錄cvs_servPID,這時(shí)如果有人建了大量的同類文件會(huì)使cvs的操作出錯(cuò),會(huì)提示:
cannot change permissions on temporary directory
Operation not permitted
下面是測(cè)試的perl程序:
#!/usr/bin/perl
#$min和$max的值根據(jù)實(shí)際情況修改
$min=400;
$max=4000;
for ($x=$min;$x<=$max;$x++) {
open CVSTMP, ">>/tmp/cvs-serv$x" or die "/tmp/cvs-serv$x: $!";
chmod 0600, "/tmp/cvs-serv$x";
close CVSTMP;
}


解決方法:
使用server.c中的mktemp(3)函數(shù)或者其它任何可以產(chǎn)生文件名的方法。在/tmp/目錄所在的分區(qū)使用空間配額也能解決部分問題。 主要還是扎緊籬笆,莫讓別人闖進(jìn)來,這畢竟是一個(gè)local的問題。
[c&v/]


RHLinux# rpm -ivh cvsweb-1.79-3.noarch.rpm(顧不了那么多了,饑不擇食嘛)


RHLinux# cp /home/httpd/cvsweb.cgi /var/www/cgi-bin


RHLinux# cd /etc/httpd/conf
RHLinux# vi cvsweb.conf
/************************************************************************
找到%CVSROOT項(xiàng)
更改其子項(xiàng) 'Configuration'=>'/home/cvsroot',
*************************************************************************/
在瀏覽器中敲入http://RHLinux/cgi-bin/cvsweb.cgi如果出現(xiàn)CVS Repository頁面也不要高興的太早繼續(xù)進(jìn)入下一級(jí)頁面,如果出錯(cuò),那么RHLinux# rlog (如果shell提示沒有這個(gè)命令的話,找這個(gè)文件rcs-xx.-xx.i386.rpm)

RHLinux# rpm -ivh rcs.........

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd