RedHat linux下cvs服務器的配置

環境準備:c++

VirtralBox-3.2 or higher versionbash

Centos-5.4-386.iso服務器

在虛擬機上安裝好Centos的環境,而後配置cvs服務器socket

 

1.查看是否安裝cvs(個人redhat9缺省是裝了的)  tcp

 rpm -qa|grep cvs  工具

 通常安裝在/usr/bin/cvs,若是未安裝,到www.cvshome.org下載一個最新的rpm安裝便可   測試

 rpm -ivh cvs-1.11.2-10.i386.rpm     ui

 

2.創建cvs用戶組,便於管理cvs用戶  加密

 groupadd cvs   rest

 

3.創建cvs組的cvsroot用戶和所屬的目錄  

 useradd -g cvs -G cvs -d /home/cvsroot cvsroot   

 

4.爲cvsroot用戶添加密碼  

 passwd cvsroot   

 

5.改變/home/cvsroot的目錄屬性  

 chmod 775 /home/cvsroot   

 

6.若是已經有項目,即已經有代碼庫/home/cvsroot/KMSJPT,不則不用初始化初始化。

若是是新建cvs源代碼庫,則須要初始化。cvs -d /home/KMSJPT init 此操做生成目錄/home/cvsroot/KMSJPT/CVSROOT, 其下爲一些初始化文件      

 

7.加入cvs服務(個人redhath9缺省就有cvs服務,因此不用加)  

 vi /etc/services  

 cvspserver 2401/tcp #pserver cvs service  

 cvspserver 2401/udp #pserver cvs service   

 

8.cvs服務由inted來喚起,所以須要改動inetd提供的服務,若是你的redhat使用的是inetd 方式則在文件/etc/inetd.conf中加入以下的內容:cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver   

  個人redhat9使用的是xinetd方式,因此在xinetd.d目錄下添加須要啓動的服務:  

  cd /etc/xinetd.d  

  vi cvspserver   #此處有多是 vi cvs

  文件內容:  

  service cvspserver  

  {  

     disable = no 

     flags = REUSE 

     socket_type = stream 

     wait = no 

     user = root 

     server = /usr/bin/cvs  

     server_args = -f --allow-root=/home/cvsroot/KMSJPT pserver

#    server_args = -f --allow-root=/home/cvs/project1 -allow-root=home/cvs/project2 pserver 多個項目時使用此方法 

     log_on_failure += USERID  

  }  

 

9.從新啓動inetd或者xinetd:  

 /etc/init.d/xinetd restart   

 

10.檢查cvspserver服務是否已經啓動  

 netstat -l |grep cvspserver  

 應該有以下結果:  

 tcp 0 0 *:cvspserver  *:* LISTEN   

 

11.測試:  

  cvs -d :pserver:cvsroot@192.168.8.1:/home/cvsroot/KMSJPT login  

注可能會出現的問題:

1.我下載的是cvs-suite-trial-2009-4095-rh9-rpm.tar.gz 是最新版,解壓後安裝出現問題,使終沒法解決,問題以下:缺乏libstdc++.so.5 。由於系統在安裝時,全是默認值設置,因此沒有安裝gcc等一系列包與編輯工具,最後從新安裝系統,將全部工具全安裝上。

2.文件/etc/xinetd.d目錄下的:cvspserver(cvs)文件內容

service cvspserver  

  {  

     disable = no 

     flags = REUSE 

     socket_type = stream 

     wait = no 

     user = root 

     server = /usr/bin/cvs  

     server_args = -f --allow-root=/home/cvsroot/KMSJPT pserver

#    server_args = -f --allow-root=/home/cvs/project1 -allow-root=home/cvs/project2 pserver 多個項目時使用此方法 

     log_on_failure += USERID  

  }

網上說能夠換成另一各方式:

注:因爲xinetd的server_args長度限制,當你想運行不少的單個倉庫的時候,能夠這麼作:

service cvspserver  

  {  

     disable = no 

     flags = REUSE 

     socket_type = stream 

     wait = no 

     user = root 

     server = /home/cvsroot/cvs.run 

     log_on_failure += USERID  

  } 

編寫cvs.run腳本:

#> vi /home/cvsroot/cvs.run

 

#!/bin/bash

/usr/bin/cvs -f

--allow-root=/cvsroot/project1

--allow-root=/cvsroot/project2

pserver

#>chmod ug+x /home/cvsroot/cvs.run

3.若是 /etc/xinetd.d/cvspserver(cvs)文件中的內容

  server 參數修改爲外部鏈接:/home/cvsroot/cvs.run

  則最後一次登陸時會有以下提示:

海量視頻獲取關注:

相關文章
相關標籤/搜索