一 CVS服務器的安裝:
1。查看你的操作系統上是否安裝了CVS:
#> rpm -qa|grep cvs
如果沒有安裝你可以在Redhat 第2張光盤上找到
2。建立cvs用戶組:
#> groupadd cvs
3。建立cvs組的cvsroot用戶和所屬的目錄:
#> useradd -g cvs -G cvs –d /cvsroot cvsroot
4。為cvsroot用戶添加密碼:
#> passwd cvsroot
5。改變 /cvsroot/ 的目錄屬性:
#> chmod –R 770 /cvsroot
6。改變用戶登陸身份:
#> su cvsroot
7。開始創建單個項目:
#> cd /cvsroot
#> mkdir project1
#>mkdir project2
8。開始建立倉庫:
#> cvs –d /cvsroot/project1 init
#> cvs –d /cvsroot/project2 init
#> chmod –R 770 ./project1/ ./project2/
9。建立CVS服務啟動文件,我們使用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 =/ home2 / cvsroot / project1 -- allow - root =/ home2 / cvsroot / project2 pserver
log_on_failure += USERID
}
注:由于xinetd的server_args長度限制,當你想運行很多的單個倉庫的時候,可以這么做:
#> vi cvspserver
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = / cvsroot / cvs.run
log_on_failure += USERID
}
編寫cvs.run腳本
#> vi /cvsroot/cvs.run
# !/ bin / bash
/ usr / bin / cvs - f
-- allow - root =/ cvsroot / project1
-- allow - root =/ cvsroot / project2
pserver
#>chmod +x /cvsroot/cvs.run
10。加入cvs服務:
#>vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
11。啟動cvs服務:
#> /etc/init.d/xinetd restart
12。檢查cvspserver服務是否已經啟動:
#> netstat -l |grep cvspserver
應該有如下結果:
tcp 0 0 *:cvspserver *:* LISTEN
二。CVS服務的用戶管理:
上面我們已經建立了project1和project2兩個CVS倉庫,下面我們分別給兩個倉庫建立cvs用戶。
13。創建可以登陸cvs服務器的用戶名和密碼:
#> su cvsroot
#> vi /cvsroot/project1/CVSROOT/passwd
trotter:*****:cvsroot
mimi:*****:cvsroot
#>vi /cvsroot/project2/CVSROOT/passwd
trotter:*****:cvsroot
gary:*****:cvsroot
這兩個文件的意思是有trotter,mimi,gary三個cvs用戶,mimi擁有project1的使用權限,gary擁有project2的使用權限,trotter擁有project1和project2的使用權限。登陸后的權限是cvsroot權限。
注意:這里的cvs用戶和系統用戶是不同的。
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。如果你想生成一個密碼是“123456”,則:
#> /cvsroot/passwd.pl “123456”
回車即可得到加密密碼,用其替換passwd文件中的*****
16。Ok,cvs現在已經全部安裝完成了,如果你想讓一個用戶擁有project1的權限,你就在/cvsroot/project1/CVSROOT/passwd中給他加入一個用戶;如果你想讓一個用戶同時具有project1和project2的權限,你就給/cvsroot/project1/CVSROOT/passwd和/cvsroot/project2/CVSROOT/passwd里給他加一個用戶名和密碼相同的用戶即可。最后,我們試用一下:
#> cvs -d :pserver:trotter@192.168.1.200:/cvsroot/project1 login
敲入命令回車后提示輸入trotter的密碼,你按照自己設置的密碼輸入,如果沒有什么錯誤信息出現就是成功了