環境準備: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
則最後一次登陸時會有以下提示:
海量視頻獲取關注: