歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> linux系統下CVSTrac配置

linux系統下CVSTrac配置

日期:2017/2/27 11:57:50   编辑:Linux文化

關於CVSTrac CVSTrac 是一個開放源代碼、與CVS 搭配使用的任務管理和錯誤跟蹤工具,基於Web 方式訪問,非常適合網上分布式小團隊協同開發使用。 CVSTrac具有如下一些特點: 􀁺 基於WEB方式管理CVS的CVSROOT/passwd用戶賬號文件 􀁺 根據CVS提交注釋自動生成變更集日志 􀁺 可自定義查詢報表格式及顏色顯示 􀁺 單一的可執行文件支持CGI、inetd及獨立的WEB服務器方式運行 􀁺 內建一個CVS倉庫WEB浏覽器 􀁺 內建一個Wiki可在線編輯的內容發布系統 􀁺 內建一個文件型數據庫引擎SQLite 􀁺 非常少的內存、硬盤、CPU占用 􀁺 支持為每個用戶設定單獨的權限 􀁺 支持匿名訪問 􀁺 支持Unix/Linux/Windows及不同平台間數據庫兼容 􀁺 Unix/Linux下支持Chroot安全運行方式 􀁺 在GNU Public License協議下發布

1.下載:從http://www.sqlite.org/download.html下載 我用的是:sqlite-2.8.17.tar.gz #cd /home #wget http://www.sqlite.org/sqlite-2.8.17.tar.gz #tar zxvf sqlite-2.8.17.tar.gz #mkdir sqlite_make #cd sqlite_make #../sqlite-2.8.17/configure #make install 如果沒有出現錯誤,就編譯安裝成功了。

2.下載:從http://www.cvstrac.org/cvstrac/wiki?p=DownloadCvstrac 下載 我用的是http://www.cvstrac.org/cvstrac-2.0.0.tar.gz 這個地址下載的cvstrac-2.0.0.tar.gz #cd /home #wget http://www.cvstrac.org/cvstrac-2.0.0.tar.gz #tar zxvf cvstrac-2.0.0.tar.gz #cd cvstrac-2.0.0 #vi linux-gcc-mk 修改: SRCDIR = /home/chedong/cvstrac-1.1.2 INSTALLDIR = /usr/local/bin 然後 #mv linux-gcc.mk Makefile #make #make install

沒有什麼錯誤cvstrac編譯安裝成功! 我編譯時出現錯誤:cvstrac: error while loading shared libraries: libsqlite.so.0: cannot open shared object file 我在/etc/ld.so.conf添加/usr/local/lib後用命令ldconfig就解決了。

3.初始化數據庫

cvstrac init /home/cvsroot cvstest

注:/home/cvsroot 是你放數據庫文件的目錄。 cvstest 是數據庫的名字,也是你以後用web訪問的url。

4.啟動cvstrac

官方介紹了三中方法: (1)用inetd或xinetd來啟動。 (2)用cgi腳本來啟動。 (3)用獨立的 webserver來啟動。

這個方法介紹如下:

(1)如果使用inetd啟動: 編輯:/etc/inetd.conf添加如下內容: 80 stream tcp nowait.1000 cvs /usr/bin/cvstrac cvstrac http /home/cvsroot

如果用xinetd啟動的: #touch /etc/xinetd.d/http #vi /etc/xinetd.d/http 添加如下內容: service http { socket_type = stream wait = no user = cvsroot server = /usr/bin/cvstrac server_args = http /home/cvsroot } #/etc/init.d/xinetd restart

創建一個CVSTrac啟動腳本/var/www/cgi-bin/cvstrac內容如下: #!/bin/sh /usr/bin/cvstrac cgi /home/cvsroot 創建完成後,為腳本設置執行權限: chmod +x cvstrac 指定數據庫的訪問權限.

然後用http://your_server_ip/cgi-bin/run-cvstrac/cvstest/ 來訪問。

大家都是高手,我就不用介紹上面的各個步驟的意思了。

(3)如果用webserver啟動: 不能使用root用戶來啟動。 #su - cvsroot #cvstrac server 8008 /home/cvsroot 或#cvstrac chroot / cvsroot server 8008 /home/cvsroot

注:8008 用你想用的端口來替換 /home/cvsroot 是你cvs的$home目錄。 chroot / cvsroot 是把root權限更改成cvsroot訪問。 然後用http://your_server_ip:8008/cvstest/

5.配置過程中可能要遇到apache用戶訪問目錄權限問題,我就不在這裡說了。

配置成功,登陸默認用戶密碼都是:setup

6.如果有多個工程: 可以用如下來做:

cvstrac init /home/cvsroot test2 cvstrac init /home/cvsroot test3

7.有好多這樣的文章,但我個人覺得都不實用,都是cp的,沒有實踐過。 例如:http://www.chedong.com/tech/cvs_card.html 上面寫的好多錯誤(他有些地方對我們很有用),根據他寫的就不會配置成功。 修改了cvs中工程的權限,那用cvs的web管理就沒有意義了。

附錄: 1.CVSTrac命令行參數 CVSTrac命令行參數如下: Usage: cvstrac ?? ?

? Or: cvstrac chroot ?? ?

? Or: cvstrac server

?

? Or: cvstrac chroot server

?

? Where: is one of "cgi", "http", "init", or "update". is the directory that contains the project database.

is the name of the project.

is a TCP port number to listen on. is a chroot jail directory. is the user to run as. 第一種形式的命令行,用來以cgi或inetd方式運行CVSTrac,以及初始化(init)及更新(update)數據庫。 第三種形式的命令行,用來以獨立的Web服務器方式啟動CVSTrac服務。 目錄參數指向包含有CVSTrac數據庫的目錄。

可選參數,表示CVSTrac數據庫名,不需要擴展名。如果指定了該參數,用戶訪問CVSTrac服務時不需要再指定數據庫名,此時

CVSTrac服務只支持一個數據庫。如果省略該參數,該CVSTrac服務可以同時支持多個數據庫,由用戶在URL中指定數據庫的名稱。 第二和第四種形式的命令行,用於高安全性的chroot方式啟動CVSTrac服務。chroot運行方式本文檔不做介紹,如果需要使用,請查閱CVSTrac

官方文檔: http://www.cvstrac.org/cvstrac/wiki?p=ChrootJailForCvstrac

2.有關CVSTrac運行環境 要正確地運行CVSTrac,需要為其提供一定的運行環境,包括外部程序支持及提供CVSTrac進程足夠的權限。絕大部分CVSTrac配置問題都是因為

權限引起的,建議管理員仔細閱讀下列內容。 CVSTrac運行時需要以下外部程序的支持,請檢查你的系統中存在以下程序: 􀁺 co:該命令用來從CVS倉庫的“*,v”文件中取出某個版本的文件。 􀁺 diff:該命令間接被rcsdiff命令調用。 􀁺 rcsdiff:用來獲得CVS文件兩個版本之間的差異。 􀁺 rlog:用來從CVS文件中查找提交注釋、分支以及標簽信息。 CVSTrac對權限的要求: 􀁺 基於安全考慮,CVSTrac不能以root身份運行。 􀁺 CVSTrac進程要有對CVSTrac數據庫所在目錄的讀寫權限(sqlite寫數據庫時需要在數據庫目錄中創建臨時文件) 􀁺 CVSTrac進程要有對CVSTrac數據庫文件的讀寫權限。 􀁺 CVSTrac進程要有對CVS倉庫文件以及CVSROOT/history文件的讀權限。 􀁺 如果設置由CVSTrac管理passwd文件,CVSTrac進程要有對passwd、readers、writers文件的寫權限,如果passwd等文件不存在,還需要有對

CVSROOT目錄的寫權限。另外,由於CVSTrac管理passwd文件時,會將CVSTrac進程所有者作為passwd文件中的本地映射帳號,故間接地還需要

CVSTrac進程所有者帳號有對CVS倉庫的讀寫權限。 􀁺 CVSTrac進程要有對前述幾個外部程序的運行權限。 另外,還要檢查服務器防火牆是否打開了CVSTrac服務的端口。

Copyright © Linux教程網 All Rights Reserved