偶也是第一次配這東西,參考了許多網(wǎng)友的帖子,可半路上出現(xiàn)了很多報(bào)錯(cuò),郁悶得死,
這里我把我自己最后成功的筆記分享給大家.
一 CVS服務(wù)器的安裝:
1. 查看你的操作系統(tǒng)上是否安裝了CVS:
#> rpm -qa|grep cvs
guile-1.8.0-8.20060831cvs
cvs-1.11.22-4
2. 建立cvs用戶組:
/usr/sbin/groupadd cvs
3 建立cvs組的cvsroot用戶和所屬的目錄:
#> /usr/sbin/useradd -g cvs -G cvs –d /cvsroot cvsroot
4 為cvsroot用戶添加密碼:
#> passwd cvsroot
密碼:cvsroot123456
5 改變 /cvsroot/ 的目錄屬性:
#> chmod –R 770 /cvsroot
6改變用戶登陸身份:
#> su cvsroot
7 開始創(chuàng)建單個(gè)項(xiàng)目:
#> cd /cvsroot
#> mkdir configuration
#>mkdir psgui
#>mkdir davinci
8 開始建立倉庫:
#> cvs –d /cvsroot/configuration init
#> cvs –d /cvsroot/psgui init
#> cvs –d /cvsroot/davinci init
#> chmod -R 770 ./configuration/ ./psgui/ ./davinci/
9建立CVS服務(wù)啟動(dòng)文件,我們使用xinetd方式:
#> [Crtl]+[d] 切換到root用戶身份
#> 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=/cvsroot/configuration --allow-root=/cvsroot/psgui --allow-root=/cvsroot/davinci pserver
log_on_failure += USERID
}
注:由于xinetd的server_args長度限制,當(dāng)你想運(yùn)行很多的單個(gè)倉庫的時(shí)候,可以這么做:
10 加入cvs服務(wù):
#>vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
已經(jīng)存在了,如下:(沒有添加了)
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
11 啟動(dòng)cvs服務(wù):
#> /etc/init.d/xinetd restart
12 檢查cvspserver服務(wù)是否已經(jīng)啟動(dòng):
#> netstat -l |grep cvspserver
應(yīng)該有如下結(jié)果:
tcp 0 0 *:cvspserver *:* LISTEN
已經(jīng)有上面的顯示結(jié)果
二CVS服務(wù)的用戶管理:
上面我們已經(jīng)建立了configuration和psgui、davinci三個(gè)CVS倉庫,下面我們分別給這三個(gè)倉庫建立cvs用戶。
13創(chuàng)建可以登陸cvs服務(wù)器的用戶名和密碼:
#> su cvsroot
#> vi /cvsroot/configuration/CVSROOT/passwd
yujiabo:*****:cvsroot
#>vi /cvsroot/psgui/CVSROOT/passwd
lianghuoyan:*****:cvsroot
yujiabo:*****:cvsroot
這兩個(gè)文件的意思是有yujiabo,lianghuoyan兩個(gè)cvs用戶,lianghuoyan擁有psgui的使用權(quán)限,yujiabo擁有configuration和psgui的使用權(quán)限,登陸后的權(quán)限是cvsroot權(quán)限。
注意:這里的cvs用戶和系統(tǒng)用戶是不同的。
14 *****為密碼,由以下文件生成:
#> vi /cvsroot/passwd.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}
";
#>chmod a+x /cvsroot/passwd.pl
15 如果你想生成一個(gè)密碼是“123456”,則:
#> /cvsroot/passwd.pl “123456”
回車即可得到加密密碼,用其替換passwd文件中的*****
16 Ok,cvs現(xiàn)在已經(jīng)全部安裝完成了,如果你想讓一個(gè)用戶擁有psgi的權(quán)限,你就在/cvsroot/psgui/CVSROOT/passwd中給他加入一個(gè)用戶;如果你想讓一個(gè)用戶同時(shí)具有psgui和davinci的權(quán)限,你就給/cvsroot/psgui/CVSROOT/passwd和/cvsroot/davinci/CVSROOT/passwd里給他加一個(gè)用戶名和密碼相同的用戶即可。最后,我們試用一下:
#> cvs -d :pserver:yujiabo@168.68.73.122:/cvsroot/psgui login
敲入命令回車后提示輸入yujiabo的密碼,你按照自己設(shè)置的密碼輸入,如果沒有什么錯(cuò)誤信息出現(xiàn)就是成功了(我的機(jī)器IP地址是168.68.73.122)
客戶端測試:
用ash用戶登陸168.68.73.123
運(yùn)行#
cvs -d :pserver:yujiabo@168.68.73.122:/cvsroot/configuration login
123456(輸入的密碼)
出現(xiàn)錯(cuò)誤:2401 failed: No route to host
客戶端連接不上,放開服務(wù)器防火墻2401端口,方法如下:
在168.68.73.122用root登陸后,運(yùn)行#system-config-securitylevel
選擇“定制”,其它端口處輸入:2401,然后“確定”設(shè)置。
現(xiàn)在客戶端可以連接了。
Windows下的客戶端軟件WinCvs1.3配置如下:
CVSROOT
認(rèn)證方式:pserver
路徑:/cvsroot/configuration
用戶名:yujiabo
CVSROOT:yujiabo@168.68.73.122:/cvsroot/configuration