linux系統內容下輕鬆搭建CVS伺服器

來源:互聯網
上載者:User
 CVS是一種廣泛應用的、開源的、透明於網路的版本控制系統。使用者使用CVS時,首先要架設一台CVS伺服器,在CVS伺服器上匯入項目執行個體、設定CVS項目存取控制等。而客戶則通過用戶端來訪問CVS伺服器,客戶可以取得項目最新代碼副本,提交自己修改的代碼等,而客戶可以從Internet、LAN甚至本機來訪問CVS伺服器。下面,我就帶領大家在Linux環境下架設一台CVS伺服器,希望能夠對想要學習CVS伺服器架設的朋友帶來一些協助。

  1、下載源碼

  通過搜尋引擎找到CVS的原始碼包,也可以從CVS的官方網站cvshome.org上尋找,由於CVS曆史上也出現過一些安全性漏洞,所以建議要定期去其官方網站上看看有沒有最新版本推出。

  2、編譯安裝

  [root@terry src]# tar -xjpvf cvs-1.12.5.tar.bz2

  [root@terry src]# cd cvs-1.12.5

  [root@terry cvs-1.12.5]# ./configure --prefix=/usr/local/terry_yu/cvs

  --disable-server-flow-control

  [root@terry cvs-1.12.5]# make

  [root@terry cvs-1.12.5]# make install

  以上指令將CVS安裝到/usr/local/terry_yu/cvs這個目錄上。

  註:除了使用源碼包進行安裝之外,還可以使用RPM包來安裝。

  3、設定啟動CVS服務

  在Linux上CVS服務可以通過inetd、xinetd或tcpwrapper等來啟動,其中inetd由於安全理由在許多場合已經被xinetd所取代了,這裡我們使用xinetd來啟動CVS服務。

  在/etc/xinetd.d目錄下為CVS服務建立一個設定檔,比如:/etc/xinetd.d/cvspserver,編輯/etc/xinetd.d/cvspserver,輸入以下內容:

  service cvspserver

  {

  disable = no

  socket_type = stream

  wait = no

  user = root

  env = HOME=

  server = /usr/bin/cvs

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

  }

  註:

  1)pserver表示是口令認證的訪問方式,這是最常用的方式,其他還有gserver,kserver,ext,如果想要更高的安全性可以使用ssh來加密口令和資料流,不過這裡為了使用者使用的方便,仍然選的是pserver。

  2)--allow-root是指定Repository的目錄,可以建立多個Repository

  然後重新啟動xinetd:

  [root@terry bin]# /etc/rc.d/init.d/xinetd restart

  Stopping xinetd: [ OK ]

  Starting xinetd: [ OK ]

  重新啟動xinetd服務後,CVS服務也開始工作了。共2頁。

  4、在CVS伺服器端建立Repository

  首先要建立一個名為cvs的組和一個名為cvsroot的使用者,以後要訪問CVS服務的使用者加入cvs這個組:

  [root@terry root]# groupadd cvs

  [root@terry root]# useradd -g cvs -s /sbin/nologin cvsroot

  [root@terry root]# chown -R cvsroot /home/cvsroot

  接下來進行初始化:

  [root@terry root]# cvs -d /home/cvsroot init

  這樣在/home/cvsroot目錄中就產生了CVSROOT目錄,其中存放了一些設定檔,如config等,然後設定許可權:

  [root@terry root]# chown -R cvsroot.cvs /home/cvsroot

  [root@terry root]# chmod -R ug+rwx /home/cvsroot

  [root@terry root]# chmod 644 /home/cvsroot/CVSROOT/config

  為了CVS系統的安全,我們要修改/home/cvsroot/CVSROOT/config檔案,將“#SystemAuth =no”前面的注釋號#去掉,即改為“SystemAuth =no”,然後給開發人員們逐一建立帳號,建立的不要分配使用者目錄,因為它將作為一個虛擬使用者帳號來使用,具體命令如:

  [root@terry root]# useradd -g cvs -M bogus

  [root@terry root]# passwd bogus

  上面的命令就建立了一個並沒有Home目錄的使用者bogus,接著將系統的shadow檔案複製到CVSROOT, 並重新命名為passwd:

  [root@terry root]# cp /etc/shadow /home/cvsroot/CVSROOT/passwd

  [root@terry root]# chmod 0644 /home/cvsroot/CVSROOT/passwd

  然後修改passwd檔案,將除bogus之外的所有行刪除,然後去掉每行第二個冒號以後的所有內容,並添上字串cvsroot, 改為如下格式:

  bogus:ND5$J8N9BW5DKV.nPdxfdsh:cvsroot

  然後,刪除掉剛剛在系統中添加的那個使用者bogus:

  [root@terry root]# userdel -f bogus

  好了,到這裡,CVS伺服器端就已經安裝設定好了,這樣你的CVS使用者就只能用passwd中規定的使用者來登陸你的CVS伺服器了,要注意的是:本文介紹的添加使用者的方法適用於小數量的使用者,如果是有大規模的開發人員,推薦採用串連LDAP或者資料庫來進行使用者的認證服務

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.