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服務的端口。