CVS服務器的安裝與配置

發表于:2007-06-09來源:作者:點擊數: 標簽:
本文主要講cvs的安裝和配置,以后會在實際工作中摸索cvs的管理、備份、恢復 本篇主要講述CVS 服務器 的安裝與配置,關于CVS客戶端的信息請看TortoiseCVS或wincvs: 1、驗證是否已安裝CVS #rpm -q cvs 如果能顯示出類似這樣的版本信息,證明已安裝CVS: #cvs-1
本文主要講cvs的安裝和配置,以后會在實際工作中摸索cvs的管理、備份、恢復

本篇主要講述CVS服務器的安裝與配置,關于CVS客戶端的信息請看TortoiseCVS或wincvs:


1、驗證是否已安裝CVS
#rpm -q cvs
如果能顯示出類似這樣的版本信息,證明已安裝CVS:
#cvs-1.11.2-10

2、創建CVS用戶組與用戶
root用戶下執行以下命令:
#groupadd cvs
#adduser cvsroot
#passwd cvsroot

#輸入cvsroot用戶密碼

3、創建CVSROOT
root用戶下執行:
#mkdir /var/cvsroot 此處可改為你想要的cvsroot路徑
#chown cvsroot.cvs /var/cvsroot 更改cvsroot權限

4、初始化CVS
需要在cvsroot用戶下執行
#su - cvsroot
#cvs -d /var/cvsroot init 此處對應上面創建的cvsroot路徑   #注:對應后面/etc/xinetd.d/cvspserver文件的配置

5、修改環境變量              #可改可不改
編輯/etc/profile或者/home下相應用戶的.profile文件
此處已修改/etc/profile為例:
#exit
退回到root用戶,只有root用戶才有權限修改/etc/profile

#vi /etc/profile 編輯/etc/profile文件
在末尾加上以下兩句:

CVSROOT=/var/cvsroot
export CVSROOT

更新環境變量:
#. /etc/profile
此時系統已經認識$CVSROOT這樣的環境變量

6、啟動cvs服務器:
在/etc/xinetd.d/目錄下創建文件cvspserver,內容如下:
# default: on
# description: The cvs server sessions;

service cvspserver
{
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/var/cvsroot pserver   #注,對應第4步cvs -d /var/cvsroot init命令
only_from = 192.168.10.0/24
}

其中only_from是用來限制訪問的,可以根據實際情況不要或者修改。
修改該文件權限:
# chmod 644 cvspserver
然后重新啟動xinetd:
# /etc/rc.d/init.d/xinetd restart
然后察看cvs服務器是否已經運行:
# netstat -lnp|grep 2401
tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN xxxxxx/xinetd
則說明cvs服務器已經運行。

7、建立cvs用戶

為了CVS系統的安全,我們要修改/var/cvsroot/CVSROOT/config文件,將"#SystemAuth =no"的前而的注釋號#去掉,即改為“SystemAuth =no”,然后給開發者們逐一建立賬號,新建的不要分配用戶目錄,因為它將作為一個虛擬用戶帳號來使用,具體命令如:
  [root@terry root]# chmod -R ug+rwx /var/cvsroot
  [root@terry root]# chmod 644 /var/cvsroot/CVSROOT/config
  [root@terry root]# useradd -g cvs -M bogus
  [root@terry root]# passwd bogus

上面的命令就創建了一個并沒有Home目錄的用戶bogus,接著將系統的shadow文件復制到CVSROOT, 并重命名為passwd:

  [root@terry root]# cp /etc/shadow /var/cvsroot/CVSROOT/passwd
  [root@terry root]# chmod 0644 /var/cvsroot/CVSROOT/passwd

  然后修改passwd文件,將除剛才設定的可使用CVS的用戶cvsroot及bogus之外的所有行刪除,然后去掉每行第二個冒號以后的所有內容,并添上字符串cvsroot, 改為如下格式:

  [root@test11 CVSROOT]# more passwd
    cvsroot:$h3ntACe9$cM2SADto6B9P5h5Wrbgyi.:cvsroot
    bogus:ttSJv9AK.zzZhhHLEQZnZPgEe8f1:cvsroot

  然后,刪除掉剛剛在系統中添加的那個用戶bogus:

  [root@terry root]# userdel -f bogus

好了,至此,CVS服務器端已配置完成。這時你的CVS用戶就只能用passwd中規定的用戶來登陸你的CVS服務器了

8、linux客戶端登錄測試

假定cvs服務器在192.168.10.11上,系統上有用戶cvsroot和bogus。登陸另一臺linxu機器,執行下列命令可以完成測試:

[root@test2 test]# export CVSROOT=:pserver:cvsroot@192.168.10.11:2401/var/cvsroot
[root@test2 test]# cvs login 
Logging in to :pserver:cvsroot@192.168.10.11:2401/var/cvsroot
CVS password:                                        #注:輸入密碼,沒有出錯提示表示登陸成功。
[root@test2 test]#
[root@test2 test]# export CVSROOT=:pserver:bogus@192.168.10.11:2401/var/cvsroot
[root@test2 test]# cvs login 
Logging in to :pserver:bogus@192.168.10.11:2401/var/cvsroot
CVS password:                                        #注:輸入密碼,沒有出錯提示表示登陸成功。
[root@test2 test]#                          


配置中碰到的問題
1、cvsroot用戶不能登錄
[root@test2 test]# export CVSROOT=:pserver:cvsroot@192.168.10.11:2401/var/cvsroot
[root@test2 test]# cvs login 
Logging in to :pserver:cvsroot@192.168.10.11:2401/var/cvsroot
CVS password:
no such user cvsroot in CVSROOT/passwd

解決辦法,查看發現原因是/var/cvsroot/CVSROOT/passwd文件中沒有包含cvsroot用戶

2、只有cvsroot用戶可以登陸,別的用戶都不能登錄
查看原因發現是 /etc/xinetd.d/cvspserver文件的server_args = -f --allow-root=/cvsroot pserver目錄參數不對,因為我們此次配置的cvs工作目錄是/var/cvsroot,而不是/home/cvsroot,所以將該參數為server_args = -f --allow-root=/var/cvsroot pserver,所有用戶均可正常登錄

如果想在一個linux系統上建多個源代碼庫,分別提供cvs服務。重復上面步驟就可以了。
參考資料:
http://blog.o2.cn/lg/2004/11/01/cvs_install_config
http://www.e800.com.cn/articles/36/1091788059301_2.html
http://it.sohu.com/2004/03/24/05/article219580551.shtml
http://tech.ccidnet.com/pub/article/c302_a131866_p1.html
http://www.linuxforum.net/docnew/showthreaded.php?Cat=&Board=db&Number=383&page=0&view=collapsed&sb=5&o=all  (說明了如何建立多個數據倉庫)
http://www.chedong.com/tech/cvs_card.html  (cvs權限管理)
http://www.cnblogs.com/windsails/articles/39283.html (CVS在Window2000下的權限管理)

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97