在Linux7.3、Linux9以及Linux ES3上直接內置了cvs,以下主要是需要配置服務器端:
1) 查看是否安裝cvs#rpm -qa | grep cvs
注:一般安裝在/usr/bin/cvs,如果未安裝到
www.cvshome.org下載一個最新的rpm安裝即可
2) 建立cvs用戶組,便于管理cvs用戶
#groupadd cvs
3) 建立cvs組的cvsroot用戶和所屬的目錄
#useradd -g cvs -G cvs -d /home/cvsroot cvsroot
4) 為cvsroot用戶添加密碼
#passwd cvsroot
5) 改變/home/cvsroot的目錄屬性
#chmod 775 /home/cvsroot
6) 初始化cvs源代碼庫,此操作生成目錄/home/cvsroot/CVSROOT,其下為一些初始化文件
#cvs -d /home/cvsroot init
7) 創建可以登陸cvs服務的用戶及密碼,需要創建文件passwd
#vi /home/cvsroot/CVSROOT/passwd
weiqiong:xxxxxx:cvsroot
chenxu:xxxxxx:cvsroot
此文件的意思是weiqiong和chenxu兩個用戶可以登陸cvs服務器,登陸后其權限為用戶cvsroot的權限
注:cvs用戶和服務器用戶是可以不一樣的
8) xxxxxx為密碼,由以下文件生成:
#vi /home/cvsroot/passwdgen.pl
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}\n";
將文件的屬性修改為可以執行: chmod 755 passwdgen.pl
9) 如果需要密碼為:test,則敲入:
#./passwdgen.pl "test"
回車即可得到加密密碼,用其替換passwd文件中的xxxxxx
10) 加入cvs服務(如果缺省有cvs服務,就可以不用加)
#vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
11) 使用的是xinetd方式,所以在xinetd.d目錄下添加需要啟動的服務:
#cd /etc/xinetd.d
#vi cvspserver
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_failure += USERID
}
注:如果有多個repository的話,按照下面的方式修改:
server_args = -f --allow-root=/home/cvsroot --allow-root=/home/ncrroot pserver
然后添加對應的用戶ncrroot,讓該用戶的根是/home/ncrroot
passwd的最后為新建的用戶名ncrroot
12) 重新啟動xinetd:
#/etc/rc.d/init.d/xinetd restart
13) 檢查cvspserver服務是否已經啟動
#netstat -l | grep cvspserver
tcp 0 0 *:cvspserver *:* LISTEN
14) 測試:
cvs -d :pserver:xiajx@192.168.100.92:/home/cvsroot login
敲入命令回車后提示輸入xiajx的密碼,你按照自己設置的密碼輸入
如果沒有什么錯誤信息出現就是成功了(我的機器IP地址是192.168.100.92,也可以用localhost).
PS:如果是遷移原有cvs的repository的話,只需要將原有的repository整個拷貝到/home/cvsroot中即可.