如何在linux環(huán)境下輕松搭建CVS服務(wù)器

    CVS是一種廣泛應(yīng)用的、開源的、透明于網(wǎng)絡(luò)的版本控制系統(tǒng)。用戶使用CVS時,首先要架設(shè)一臺CVS 服務(wù)器,在CVS服務(wù)器上導(dǎo)入項目實例、設(shè)置CVS項目訪問控制等。而客戶則通過客戶端來訪問CVS服務(wù)器 ,客戶可以取得項目最新代碼副本,提交自己修改的代碼等,而客戶可以從Internet、LAN甚至本機(jī)來訪 問CVS服務(wù)器。下面,我就帶領(lǐng)大家在Linux環(huán)境下架設(shè)一臺CVS服務(wù)器,希望能夠?qū)ο胍獙W(xué)習(xí)CVS服務(wù)器 架設(shè)的朋友帶來一些幫助。

1、下載源碼

    通過搜索引擎找到CVS的源代碼包,也可以從CVS的官方網(wǎng)站CVShome.org上尋找,由于CVS歷史上也出 現(xiàn)過一些安全漏洞,所以建議要定期去其官方網(wǎng)站上看看有沒有最新版本推出。

2、編譯安裝

[root@terry src]# tar -xjpvf CVS-1.12.5.tar.bz2

[root@terry src]# cd CVS-1.12.5

[root@terry CVS-1.12.5]# 。/configure --prefix=/usr/local/terry_yu/CVS

--disable-server-flow-control

[root@terry CVS-1.12.5]# make

[root@terry CVS-1.12.5]# make install

以上指令將CVS安裝到/usr/local/terry_yu/CVS這個目錄上。

注:除了使用源碼包進(jìn)行安裝之外,還可以使用RPM包來安裝。

3、設(shè)置啟動CVS服務(wù)

    在Linux上CVS服務(wù)可以通過inetd、xinetd或tcpwrapper等來啟動,其中inetd由于安全理由在許多場 合已經(jīng)被xinetd所取代了,這里我們使用xinetd來啟動CVS服務(wù)。

    在/etc/xinetd.d目錄下為CVS服務(wù)創(chuàng)建一個配置文件,比如:/etc/xinetd.d/CVSpserver,編 輯/etc/xinetd.d/CVSpserver,輸入以下內(nèi)容:

service CVSpserver

{

disable = no

socket_type = stream

wait = no

user = root

env = HOME=

server = /usr/bin/CVS

server_args = -f --allow-root=/home/CVSroot pserver

}

注:

1)pserver表示是口令認(rèn)證的訪問方式,這是最常用的方式,其他還有g(shù)server,kserver,ext,如 果想要更高的安全性可以使用ssh來加密口令和數(shù)據(jù)流,不過這里為了用戶使用的方便,仍然選的是 pserver。

2)--allow-root是指定Repository的目錄,可以建立多個Repository

然后重新啟動xinetd:

[root@terry bin]# /etc/rc.d/init.d/xinetd restart

Stopping xinetd: [ OK ]

Starting xinetd: [ OK ]

重新啟動xinetd服務(wù)后,CVS服務(wù)也開始工作了。

4、在CVS服務(wù)器端建立Repository

首先要創(chuàng)建一個名為CVS的組和一個名為CVSroot的用戶,以后要訪問CVS服務(wù)的用戶加入CVS這個組:

[root@terry root]# groupadd CVS

[root@terry root]# useradd -g CVS -s /sbin/nologin CVSroot

[root@terry root]# chown -R CVSroot /home/CVSroot

接下來進(jìn)行初始化:

[root@terry root]# CVS -d /home/CVSroot init

這樣在/home/CVSroot目錄中就產(chǎn)生了CVSROOT目錄,其中存放了一些配置文件,如config等,然后設(shè) 置權(quán)限:

[root@terry root]# chown -R CVSroot.CVS /home/CVSroot

[root@terry root]# chmod -R ug+rwx /home/CVSroot

[root@terry root]# chmod 644 /home/CVSroot/CVSROOT/config

    為了CVS系統(tǒng)的安全,我們要修改/home/CVSroot/CVSROOT/config文件,將“#SystemAuth =no”前面 的注釋號#去掉,即改為“SystemAuth =no”,然后給開發(fā)者們逐一建立賬號,新建的不要分配用戶目錄 ,因為它將作為一個虛擬用戶帳號來使用,具體命令如:

[root@terry root]# useradd -g CVS -M bogus

[root@terry root]# passwd bogus

    上面的命令就創(chuàng)建了一個并沒有Home目錄的用戶bogus,接著將系統(tǒng)的shadow文件復(fù)制到CVSROOT, 并重命名為passwd:

[root@terry root]# cp /etc/shadow /home/CVSroot/CVSROOT/passwd

[root@terry root]# chmod 0644 /home/CVSroot/CVSROOT/passwd

    然后修改passwd文件,將除bogus之外的所有行刪除,然后去掉每行第二個冒號以后的所有內(nèi)容,并 添上字符串CVSroot, 改為如下格式:

bogus:ND5$J8N9BW5DKV.nPdxfdsh:CVSroot

    然后,刪除掉剛剛在系統(tǒng)中添加的那個用戶bogus:

[root@terry root]# userdel -f bogus

    好了,到這里,CVS服務(wù)器端就已經(jīng)安裝設(shè)置好了,這樣你的CVS用戶就只能用passwd中規(guī)定的用戶來 登陸你的CVS服務(wù)器了,要注意的是:本文介紹的添加用戶的方法適用于小數(shù)量的用戶,如果是有大規(guī)模 的開發(fā)人員,推薦采用連接LDAP或者數(shù)據(jù)庫來進(jìn)行用戶的認(rèn)證服務(wù)。

北大青鳥網(wǎng)上報名
北大青鳥招生簡章