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或者資料庫來進行使用者的認證服務。
linux環境下輕鬆搭建CVS伺服器(還是轉的)
相關文章
- ASP環境下輕鬆實現報表的列印 (轉)
- 輕鬆使用 Linux Equinox 桌面環境LinuxUI
- 帶你輕鬆使用Hyperf玩轉Grpc(一)環境搭建RPC
- Linux伺服器下Java環境搭建Linux伺服器Java
- 在linux下搭建wiki環境【轉】Linux
- next.js+koa2+antd環境輕鬆搭建JS
- 輕鬆搭建Redis伺服器Redis伺服器
- linux 下搭建php環境LinuxPHP
- Linux下NDK環境搭建!Linux
- Linux圖形介面知識-輕鬆更換圖形環境(轉)Linux
- 【轉】 Windows下LAMP環境搭建WindowsLAMP
- ubuntu 下gerrit 伺服器環境搭建Ubuntu伺服器
- Ubuntu環境下NFS伺服器搭建UbuntuNFS伺服器
- 輕鬆兩步,搭建斷點除錯 PHP 原始碼環境斷點除錯PHP原始碼
- linux環境下搭建個人微博Linux
- linux下配置cvs(轉)Linux
- linux環境下的undelete(轉)Linuxdelete
- Windows環境下的Nginx環境搭建WindowsNginx
- linux下jsp環境的搭建薦LinuxJS
- linux伺服器環境搭建問題Linux伺服器
- 離線Linux伺服器環境搭建Linux伺服器
- Linux下原始碼搭建LAMP環境Linux原始碼LAMP
- linux下搭建wails開發環境。LinuxAI開發環境
- windows環境下Django環境搭建WindowsDjango
- Linux 環境下 Git 伺服器的搭建與基本使用(CentOS 7 版本)LinuxGit伺服器CentOS
- 在Gentoo Linux下輕鬆安裝ALSA(轉)Linux
- (一)Linux環境的學習環境的搭建Linux
- linux下nginx+php+mysql環境搭建LinuxNginxPHPMySql
- [譯] 輕鬆管理 Swift 專案中的不同環境Swift
- 部署伺服器系列三:Linux環境結合Docker搭建前端環境伺服器LinuxDocker前端
- 關於SVN伺服器的環境搭建及使用(轉)伺服器
- Linux 下 Hadoop 2.6.0 叢集環境的搭建LinuxHadoop
- Ubuntu下Java環境的搭建UbuntuJava
- RAC環境下dataguard的搭建
- window環境下testlink環境搭建(xammp)
- 以太坊-Win環境下remix環境搭建REM
- node.js輕鬆搭建一個伺服器Node.js伺服器
- 使用FileZilla Server輕鬆搭建個人FTP伺服器ServerFTP伺服器