以 Windows 平臺爲例,講述一下有關 Trac 的基本配置與使用,同時分享一下有關 Trac 的項目管理經驗。html
easy_install Genshi
安裝時,注意版本的問題。如setuptools-0.6c11.win32-py2.7就是用於windows 32位,python2.7的。
用 easy_install 來安裝 Trac,詳細的說明能夠看官方文檔,或者在這一步,直接下載 Windows 的 Trac 安裝文件來進行安裝,直接下載來安裝很方便,不過注意版本。python
完成上述的安裝後,就能夠建立一個 TracEnvironment,它是 Trac 存儲信息的地方,如 wiki pages, tickets, reports, settings 等。shell
個人作法是先在d盤新建一個trac目錄,而後執行:數據庫
$ trac-admin d:/trac/mytest initenv
配置環境以前,注意此外trac-admin能用是由於加到了PATH環境變量裏了。python裏的script文件裏有trac-admin.exe文件。將script文件目錄加到PATH變量裏。windows
而後根據提示輸入項目的名字(myproject),數據庫鏈接字符串(默認),你的源代碼資源庫路徑,根據相應的提示,輸入相關信息便可。安全
若是提示以下錯誤:服務器
C:\Python27\Scripts>tracd -p 8080 e:/trac/MyTest Traceback (most recent call last): File "C:\Python27\Scripts\tracd-script.py", line 5, in <module> from pkg_resources import load_entry_point File "C:\Python27\lib\site-packages\pkg_resources.py", line 2603, in <module> working_set.require(__requires__) File "C:\Python27\lib\site-packages\pkg_resources.py", line 666, in require needed = self.resolve(parse_requirements(requirements)) File "C:\Python27\lib\site-packages\pkg_resources.py", line 565, in resolve raise DistributionNotFound(req) # XXX put more info here pkg_resources.DistributionNotFound: Genshi>=0.6
則代表沒有安裝 Genshi。python2.7
能夠經過 tracd 命令來開啓 Trac 服務,命令以下:ide
tracd --port 8000 E:\Trac\MyTest
啓動成功後,便可經過網址:工具
http://localhost:8000/MyTest
來訪問相關的 Trac 服務,這時即訪問 MyTest 這個工程。
其它機器也能夠經過訪問這臺機器的 IP 加端口來訪問這個服務。最基本、最簡單的使用,能夠不用 Apache 來搭建 Web 服務器。
剛安裝好的 Trac,並無提供一個用戶註冊面板,也沒有設置管理員權限,這個時候,咱們須要本身來添加用戶。
這一點常常讓我這種習慣了用其它管理系統的人摸不着頭腦,系統怎麼沒有讓我設置相關的管理員用戶名和密碼呢?
最簡單的方法是這樣的:
直接用 Generating Passwords Without Apache 裏提到的方法:
$ python trac-digest.py -u username -p password >> c:\digest.txt $ tracd --port 8000 --auth=proj_name,c:\digest.txt,trac c:\path\to\proj_name
直接就能夠把 username 添加到某個工程裏,並能夠登錄了。
單純把某個用戶添加到了工程裏,並不能讓這個用戶有管理工程的權限,因此,須要單獨分配權限給這個用戶:
好比說,我要分本給 admn 這個用戶管理員權限,能夠用下面的語句:
$ trac-admin /path/to/projenv permission add admin TRAC_ADMIN
如今重啓一下 Trac 服務器,你再用 admin 登錄,就能夠看到右邊有一個 Admin 的控制面板了。
最好的辦法,你給不一樣的 projects,添加不一樣的用戶名,爲不一樣的 project,開啓不一樣的端口,這樣就不會相互影響了。
出於對工做及公司的安全性考慮,咱們徹底有理由不讓匿名用戶看到 Trac 裏的任何內容。
只須要在管理面板 Admin ==> General ==> Permissions 裏,把 Subject 爲 anonymous 的相應權限所有去掉便可。
CANNOT INCLUDE FILE ../addon/ads-bar.org
用第4種方法開啓的服務,只能在本機使用,若是須要讓一個團隊都能訪問的話,須要開啓一個 Apache 服務器。
http://trac.edgewall.org/wiki/TracInstall#RunningTraconaWebServer
能夠直接用 easy_install 來安裝
注意必定要像圖中同樣,開啓那個右上角的 1 字符。
realm 的用處是區分這個用戶名屬於哪裏的,如今這樣,很容易地區分出來。和以前 tracd 命令啓動時帶的參數同樣。
還能夠針對不一樣的工程,設定不一樣的密碼文件,這樣能夠有效地隔離不相干人羣。
使用這個還有一個須要注意的,就是,公司內部使用的話,能夠把煩人的 Email Verification 關掉。
用 Gmail 的話,可查看這篇日誌,有關如何設置用 Gmail 來發提醒郵件的功能。
默認狀況下,Trac 須要你在分 Ticket 時,本身填空。在項目人員過多的狀況下,這顯示是不現實的辦法。
還好,可使用 AutocompleteUsersPlugin 這個來自動補全與提示,使用後感受不錯。
能夠導出數據爲 CSV 或 Text 格式:
Trac also exports reports and custom queries to CSV, which will open in Excel directly. Click the "Comma-delimited Text" link near the bottom.
對於 Trac 這種團隊用的東西,備份是很是重要的。成一數據丟了,項目也就完蛋了。
Trac 支持熱備份,能夠很方便地用下面的命令來對某個工程進行備份:
$ trac-admin /path/to/projenv hotcopy /path/to/backupdir
注意,這個只能是對工程一個一個的進行備份,其實就是把 Trac 工程的全部文件都打了一個包。
因此,爲了備份簡單,應該要把密碼文件也放到 projenv 的目錄裏,這樣備份起來,會一塊兒把用戶名和密碼文件打包的。
只要備份徹底,你徹底能夠在別外一臺機器上,在另外一臺機器上配置好 Python 環境,再安裝好 Trac ,再把這些備份的文件,扔到一個運行目錄裏,再用一樣的命令就能夠直接把該 project 跑起來了。
很是便利!
默認的 Trac 主題並不算十分好看,這裏有大把主題能夠換:
能夠經過這個博客系統及時通知團隊有什麼新的更新內容之類的。
對於 Linux 系統來講,須要添加一個開機啓動程序,仍是很簡單的。可使用 /etc/init.d 目錄下的腳原本完成這個任務。
詳細的腳本能夠參考這個文章:Start Trac on Startup – Init.d Script for tracd
注意修改裏面的 IP、端口以及目錄參數。我這裏好像把IP設置成 127.0.0.1 好像並不能讓別人訪問,因此仍是設成你電腦的正式 IP 比較好。或是有一個技巧,在這裏直接把 IP 設爲 0.0.0.0。
有了這個腳本,你只須要用以下命令重啓 tracd 服務器便可:
$ sudo /etc/init.d/trac start $ sudo /etc/init.d/trac stop
若是是在 Windows 下,則有三種選擇來讓它開機啓動。我喜歡用 cygwin 的 cygrunsrv.exe 來安裝該服務。例如,若是我 Windows 本地的 Trac 啓動命令是:
tracd --port 8999 --auth=All-in-Trac,E:\water\Basket\Trac\All-in-Trac\conf\password.digest,trac E:\water\Basket\Trac\All-in-Trac
則在 Cygwin 裏可用以下命令來把 tracd 註冊成 Windows 系統服務:
cygrunsrv --install tracd --path /cygdrive/c/Python27/Scripts/tracd.exe --args '--port 8999 --auth=All-in-Trac,E:\water\Basket\Trac\All-in-Trac\conf\password.digest,trac E:\water\Basket\Trac\All-in-Trac'
針對 Trac 0.12 來講的缺陷,
[fn:author] 臺灣著名計算機技術做家。