jasmine214--love

          只有當(dāng)你的內(nèi)心總是充滿快樂(lè)、美好的愿望和寧?kù)o時(shí),你才能擁有強(qiáng)壯的體魄和明朗、快樂(lè)或者寧?kù)o的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

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

            1、下載源碼

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

            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這個(gè)目錄上。

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

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

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

            在/etc/xinetd.d目錄下為CVS服務(wù)創(chuàng)建一個(gè)配置文件,比如:/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)證的訪問(wèn)方式,這是最常用的方式,其他還有g(shù)server,kserver,ext,如果想要更高的安全性可以 使用ssh來(lái)加密口令和數(shù)據(jù)流,不過(guò)這里為了用戶使用的方便,仍然選的是pserver。

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

          然后重新啟動(dòng)xinetd:

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

          Stopping xinetd: [ OK ]

          Starting xinetd: [ OK ]

          重新啟動(dòng)xinetd服務(wù) 后,CVS服務(wù)也開(kāi)始工作了。

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

          首先要?jiǎng)?chuàng)建一個(gè) 名為cvs的組和一個(gè)名為cvsroot的用戶,以后要訪問(wèn)CVS服務(wù)的用戶加入cvs這個(gè)組:

          [root@terry root]# groupadd cvs

          [root@terry root]# useradd -g cvs -s /sbin/nologin cvsroot

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

          接下來(lái)進(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”前面的注釋號(hào)#去掉,即改為“SystemAuth =no”,然后給開(kāi)發(fā)者們逐一建立賬號(hào),新建的不要分配用戶目錄,因?yàn)樗鼘⒆鳛橐粋€(gè)虛擬用戶帳號(hào)來(lái)使用,具體命令如:

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

          [root@terry root]# passwd bogus

          上面的命令就創(chuàng)建了一個(gè)并沒(méi)有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之外的所有行刪除,然后去掉 每行第二個(gè)冒號(hào)以后的所有內(nèi)容,并添上字符串cvsroot, 改為如下格式:

          bogus:ND5$J8N9BW5DKV.nPdxfdsh:cvsroot

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

          [root@terry root]# userdel -f bogus

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

          原文:http://naitway.blogbus.com/logs/76881295.html

          主站蜘蛛池模板: 谷城县| 留坝县| 潞城市| 海盐县| 贵港市| 肃南| 枞阳县| 甘孜县| 天津市| 额尔古纳市| 临湘市| 云南省| 连南| 稷山县| 政和县| 龙泉市| 池州市| 怀安县| 云龙县| 合江县| 长兴县| 清苑县| 安龙县| 马鞍山市| 景谷| 蒙自县| 新巴尔虎右旗| 杨浦区| 双峰县| 兴海县| 隆回县| 通渭县| 苏尼特右旗| 洞头县| 巫山县| 金阳县| 和硕县| 汽车| 中阳县| 安泽县| 靖安县|