Posted on 2011-04-18 11:49
幻海藍夢 閱讀(193)
評論(0) 編輯 收藏 所屬分類:
版本管理
CVS是一種廣泛應用的、開源的、透明于網絡的版本控制系統。用戶使用CVS時,首先要架設一臺CVS服務器,在CVS服務器上導入項目實例、設置
CVS項目訪問控制等。而客戶則通過客戶端來訪問CVS服務器,客戶可以取得項目最新代碼副本,提交自己修改的代碼等,而客戶可以從Internet、
LAN甚至本機來訪問CVS服務器。下面,我就帶領大家在Linux環境下架設一臺CVS服務器,希望能夠對想要學習CVS服務器架設的朋友帶來一些幫
助。
1、下載源碼
通過搜索引擎找到CVS的源代碼包,也可以從CVS的官方網站cvshome.org上尋找,由于CVS歷史上也出現過一些安全漏洞,所以建議
要定期去其官方網站上看看有沒有最新版本推出。
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這個目錄上。
注:除了使用源碼包進行安裝之外,還可以使用RPM包來安裝。
3、設置啟動CVS服務
在Linux上CVS服務可以通過inetd、xinetd或tcpwrapper等來啟動,其中inetd由于安全理由在許多場合已經被
xinetd所取代了,這里我們使用xinetd來啟動CVS服務。
在/etc/xinetd.d目錄下為CVS服務創建一個配置文件,比如:/etc/xinetd.d/cvspserver,編輯/etc
/xinetd.d/cvspserver,輸入以下內容:
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表示是口令認證的訪問方式,這是最常用的方式,其他還有gserver,kserver,ext,如果想要更高的安全性可以
使用ssh來加密口令和數據流,不過這里為了用戶使用的方便,仍然選的是pserver。
2)--allow-root是指定Repository的目錄,可以建立多個Repository
然后重新啟動xinetd:
[root@terry bin]# /etc/rc.d/init.d/xinetd restart
Stopping
xinetd: [ OK ]
Starting xinetd: [ OK ]
重新啟動xinetd服務
后,CVS服務也開始工作了。
4、在CVS服務器端建立Repository
首先要創建一個
名為cvs的組和一個名為cvsroot的用戶,以后要訪問CVS服務的用戶加入cvs這個組:
[root@terry
root]# groupadd cvs
[root@terry root]# useradd -g cvs -s
/sbin/nologin cvsroot
[root@terry root]# chown -R cvsroot
/home/cvsroot
接下來進行初始化:
[root@terry root]# cvs -d
/home/cvsroot init
這樣在/home/cvsroot目錄中就產生了CVSROOT目錄,其中存放了一些配置文
件,如config等,然后設置權限:
[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系統的安全,我們要修改/home/cvsroot/CVSROOT/config文件,將“#SystemAuth
=no”前面的注釋號#去掉,即改為“SystemAuth
=no”,然后給開發者們逐一建立賬號,新建的不要分配用戶目錄,因為它將作為一個虛擬用戶帳號來使用,具體命令如:
[root@terry root]# useradd -g cvs -M bogus
[root@terry root]#
passwd bogus
上面的命令就創建了一個并沒有Home目錄的用戶bogus,接著將系統的shadow文件復制到
CVSROOT, 并重命名為passwd:
[root@terry root]# cp /etc/shadow
/home/cvsroot/CVSROOT/passwd
[root@terry root]# chmod 0644
/home/cvsroot/CVSROOT/passwd
然后修改passwd文件,將除bogus之外的所有行刪除,然后去掉
每行第二個冒號以后的所有內容,并添上字符串cvsroot, 改為如下格式:
bogus:ND5$J8N9BW5DKV.nPdxfdsh:cvsroot
然后,刪除掉剛剛在系統中添加的那個用戶
bogus:
[root@terry root]# userdel -f bogus
好了,到這
里,CVS服務器端就已經安裝設置好了,這樣你的CVS用戶就只能用passwd中規定的用戶來登陸你的CVS服務器了,要注意的是:本文介紹的添加用戶
的方法適用于小數量的用戶,如果是有大規模的開發人員,推薦采用連接LDAP或者數據庫來進行用戶的認證服務。
原文:http://naitway.blogbus.com/logs/76881295.html