在rh linux上快速建立本地cvs伺服器的小指南
rpm包進行安裝。
下面的工作,集中精力在建立多使用者、單cvs倉庫的本地cvs伺服器。對於如何擴充它,使之成為區域網多使用者、多cvs倉庫的cvs伺服器, 是以後的討論範圍。
簡要的步驟:
1、建立cvs使用者組
#groupadd cvs
2、建立cvs組的cvsroot使用者和所屬的目錄
#useradd -g cvs -g cvs -d /home/cvsroot cvsroot
3、用cvsroot使用者登入,然後改變使用者目錄的許可權,讓所有cvs組的成員對它有讀寫權、初始化cvs倉庫
#su - cvsroot
$chmod 775 .
$cvs init
4、使用root或者cvsroot使用者登入,新增cvs使用者,新增cvs成員的加密密碼
#vi /home/cvsroot/cvsroot/passwd
在這個檔案中新增如下形式的多行內容:
usrname1:******:cvsroot
usrname2:******:cvsroot
其中的******是使用者usernamex加密的密碼,用來生成的perl程式如下:
#vi 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 "$n";
這個指令碼的使用方法是:perl passwdgen.pl 《預定密碼》,然後將生成的加密密碼拷貝到passwd檔案中。
修改passwd檔案屬性,使之只對於cvsroot使用者唯讀
$chmod 400 passwd
5、修改/etc/services檔案,加入cvs服務
#vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service (可以不要的,因為我們在這裡僅僅使用到了tcp協議)
6、修改inetd提供的服務,由於linux版本之間的差異,在你的系統中可能使用inetd,或者使用xinetd,
比如在rh linux 7.3中使用的就是xinetd,你可以使用如下的命令來查詢
#ps -a |grep inetd
如果使用的是inetd,則僅僅需要修改/etc/inetd.conf,加入如下的內容
cvsserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver
如果使用的是xinetd,則需要如下操作:
#cd /etc/xinetd.d
#touch cvspserver
#vi cvspserver
[quote]service cvspserver
[/quote]
可以注意到上面各個引數與單行內容的對應關係。
7、重新啟動inetd或者xinetd:
#/etc/init.d/xinetd restart
8、檢查cvspserver服務是否已經啟動
#netstat -l |grep cvspserver
應該有如下結果:
tcp 0 0 *:cvspserver *:* listen
好了,至此已經在本地建立了乙個可以使用的cvs伺服器了。
cvs相關網路資源列表
2、 (這裡有很多關於cvs的資源鏈結)
參考了網上很多cvs建立的方法,其中有一篇《cvs使用速成配置》寫得很實用,然而如果按部就班的操作後卻總是不成功。後來仔細看了一下,呵呵,有乙個很明顯也是很小的錯誤,或者不能稱之為錯誤,應該是網頁排版造成的錯誤,不同之處我用紅色字型標出。過程如下:
我使用的是magiclinux2.0, cvs版本是cvs-1.11.17-4mgc
一、建立cvs服務
1、建立cvs使用者組
#>groupadd cvs
2、建立cvs組的使用者cvsroot和所屬的目錄
#>useradd -g cvs -g cvs -d /cvsroot cvsroot
3、為cvsroot使用者新增密碼
#>passwd cvsroot
4、改變/cvsroot目錄的屬性
#>chmod -r 770 /cvsroot
5、改變使用者登入
#>su cvsroot
6、建立專案,此處建立兩個專案project1和project2
#>cd /cvsroot
#>mkdir project1
#>mkdir project2
7、建立倉庫
#>cvs -d /cvsroot/project1 init
#>cvs -d /cvsroot/project2 init
#>chmod -r 770 ./project1/ ./project2/
8、建立cvs服務的啟動檔案,採用xinetd方式,[color=darkred]各位使用magiclinux的朋友需要注意了,系統服務預設xinetd是沒有執行的,需要執行它。[/color] 沒有的話還需要安裝xinetd
#>[ctrl]+[d]切換到root使用者身份
#>cd /etc/xinetd.d
#vi cvspserver
service cvspserver
注意:(1)[color=darkred]env = home=這一行是為了解決一些cvs操作時產生的讀取/root/.cvssignore檔案的錯誤,意思指執行cvs服務時將環境變數home置空,這樣雖然執行的cvs使用者是root,但是沒有了home環境變數,所以cvs就不會去讀/root/.cvssignore這個檔案[/color]
#>vi /cvsroot/cvs.run
#!/bin/bash
/usr/bin/cvs -f --allow-root=/cvsroot/project1 --allow-root=/cvsroot/project2 pserver
#>chmod +x /cvsroot/cvs.run
最好,執行一下
./cvs.run
如果沒有什麼特別的資訊,應該就沒有問題了,[ctrl]+[c]中止它吧
[color=darkred](3)cvspserver這個服務名稱要與/etc/services裡的名稱一致[/color]
9、此時可以啟動cvs服務了
#>/etc/init/xinetd restart
10、檢查是cvspserver服務是否正常啟動
#>netstat -al |grep cvspserver
應該有如下結果:
tcp 0 0 *:cvspserver *:* listen
二、使用者管理
此時我們已經建立了project1和project2兩個倉庫,下面我們分別給兩個倉庫建立cvs使用者,[color=darkred]此處我們使用cvs的使用者認證方式,而不採用linux的使用者。[/color]
11、建立可以登入cvs伺服器的使用者名稱和密碼
#>su cvsroot
#>vi /cvsroot/project1/passwd
wzw:****:cvsroot
brad:****:cvsroot
#>vi /cvsroot/project2/passwd
brad:****:cvsroot
注意:(1)passwd檔案是不存在的,手動建立
(2)此處有project1兩個cvs使用者wzw和brad,分別對映到linux系統使用者cvsroot,project2有乙個使用者brad,同樣對映到cvsroot,登入後的許可權即是cvsroot的許可權
(3)****為密碼,採用cypt加密,可以由下面的指令碼檔案生成
#> 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 "$
";#>chmod a+x /cvsroot/passwd.pl
15。如果你想生成乙個密碼是「123456」,則:
#> /cvsroot/passwd.pl 「123456」
回車即可得到加密密碼,用其替換passwd檔案中的****
12、完成了,應該可以了:)
測試一下
#>cvs -d :pserver:[email protected]/cvsroot/project1 login
(我的伺服器ip為192.168.0.39)
按照提示輸入密碼,回車
如果沒有特別提示資訊,呵呵。。。。。ok
感謝《cvs使用速成配置》一文的作者!
Linux下CVS伺服器
2.在 etc xinetd.d下面建立乙個檔案cvspserver,其內容如下 service cvspserver 其中cvs命令在 usr bin目錄下,而設定cvs工作根目錄是 cvs。3.重新啟動xinetd超級伺服器,使用下面命令 etc init.d xinetd restart 4....
linux下配置cvs伺服器
一 cvs伺服器的安裝 1。檢視你的作業系統上是否安裝了cvs rpm qa grep cvs 2。建立cvs使用者組 groupadd cvs 3。建立cvs組的cvsroot使用者和所屬的目錄 useradd g cvs g cvs d cvsroot cvsroot 4。為cvsroot使用者...
linux下CVS伺服器搭建
1 cvs伺服器的安裝 rpm ivh cvs 1.12.13.tar.bz2 cd rpm ivh cvs 1.12.13 configure make make install 檢視cvs安裝情況 rpm qa grep cvs 2 建立cvs使用者組 groupadd cvs 3 建立cvs組...