今天開發組的同事讓我幫忙部署一個版本控制系統並要求是CVS平臺,上網整理了點資料,折騰了兩天算是搞定了吧,下面把步驟共享給各位
我的系統平臺是RedHat AS4U6
在shell下使用rpm -qa | grep cvs檢視一下,一般都是整合了cvs的程式包,不過如果你不幸的話,就自己安裝一下,安裝特簡單沒有必要在這裡浪費時間,我的主程式版本是這個cvs-1.11.17-
9.RHEL4
一般cvs版本控制的分割槽希望是單獨劃分的給足空間,我的是/cvs目錄
我們先來建立使用cvs的使用者
groupadd cvs    先建立使用者組方便管理
useradd  -g cvs -d /cvs user1
password user1
useradd  -g cvs -d /cvs user2
password user2
chgrp -R cvs /cvs
cvs -d /cvs init   初始化cvs原始碼庫
檢視cvs目錄下會生成一個大寫的CVSROOT目錄,它裡面全是配置檔案
檢視一下/etc/services其中要有
cvspserver 2401/tcp
cvspserver 2401/udp
如果沒有就手動新增即可
將cvs新增到xinetd服務
vi /etc/xinetd..d/cvspserver
service cvspserver
{
flags             = REUSE
socket_type       = stream
wait              = no
user              = root
server            = /usr/bin/cvs
server_args       = -f –allow-root=/cvs pserver
log_on_failure   += USERID
disable           = no
}
這裡注意cvspserver的定義名要和services中cvspserver匹配,別瞎寫
cp /etc/shadow /cvs/passwd我是為了節省時間,哈哈,偷懶的
我們把passwd的檔案修改成以下格式
user1:$1$DoZmfSHe$V/g//YEr11EgKZf0k6ibo1:uesr1
user2:$1$QQ947//p$czAbpGzan08UAQpftnuHw1:user2
中間的長字元是他的密碼
這裡我們還要建立兩個檔案一個是writers一個是readers內容如下
vi /cvs/CVSROOT/readers
anonymous
vi /cvs/CVSROOT/writers
user1
user2
看明白了嗎,這兩個檔案是控制許可權的,如果只是讓他讀就到readers裡,如果是讀寫就到writers中,readers優先順序高於writers。
配置好了,我們重啟xinetd服務
/etc/rc.d/init.d/xinetd restart
然後確定一下cvspserver服務是否啟動成功
netstat -l | grep cvspserver
tcp   0      0 *:cvspserver      *:*     LISTEN看到這個結果就是正常的了
登陸另外一臺linux系統使用
cvs -d :pserver:user1@cvsserver:/cvs  login
如果沒有返回任何結果就表明正常其次就可以使用windows客戶端來連線使用了