在 windows 下安裝和簡單配置 trac 0.12

賴勇浩發表於2010-03-12

賴勇浩(http://laiyonghao.com)
Trac是一個基於Web的,輕量級的專案管理工具,它使用python語言編寫,官網:http://trac.edgewall.org/。它整合了增強的Wiki功能和版本控制功能,並可通過外掛擴充套件其功能。由於外掛眾多、功能全面,甚至可以與很多商業的CMS系統媲美,因此應用也日益廣泛。它的ticket管理及工作流外掛(http://trac-hacks.org/) 使得它也可以很方便地進行簡單的業務協作及流程控制。

trac logo
0、確保已經安裝好 python 和 setuptools。python 的版本至少要 2.4(我使用 2.6.2 版本),setuptools 至少要 0.6。
1、使用 setuptools 安裝 docutils、pygments 和 pytz,就是進入命令列執行 easy_install xxx 即可,嗯,確定要先連通網際網路。
2、從 svn 安裝 Genshi、Babel 和 Trac,通過 easy_install 安裝的版本太低,會掛掉。我統一把它們安裝到 D:/edgewall 。
svn co http://svn.edgewall.org/repos/babel/trunk babel
svn co http://svn.edgewall.org/repos/genshi/trunk genshi
svn co http://svn.edgewall.org/repos/trac/trunk trac
svn co http://www.unicode.org/repos/cldr/tags/release-1-7-2/common/ cldr
svn co 之後,進入 genshi 目錄,執行 python setup.py install 安裝好。
然後進入 babel 目錄,執行一下 python ./scripts/import_cldr.py ../cldr,把 cldr 的匯入,這是正確安裝多語言版本必經的一步。一定要注意。cldr 匯入完成後再執行 python setup.py install,這是必須的。
接下來進入 trac 目錄,需要注意一下是我們要使用中文翻譯,所以要進入 trac 的目錄執行一下 python setup.py compile_catalog -f,把語言包編譯成本地的版本。再執行 python setup.py install 就行了。
先簡單驗證一下安裝有沒有成功,在任意目錄執行一下 tracd,如果出現 tracd 的 usage 就對了:
Usage: tracd-script.py [options] [projenv] ...
3、建立專案環境。在任意目錄執行:trac-admin D:/trac_prj initenv 就可以在 D:/trac_prj 建立新的專案環境。
在建議環境的過程中,它會問你專案名字,這個隨喜了,我就輸入了一下 test,也會問你資料庫設定,我使用了預設的 sqlite,所以隨手甩了個回車就搞定了,然後就看到命令列吐出一堆字元,不理,最後一行是 Congratulations! 就表示專案環境建立成功了。不過我也沒有見過不成功是怎麼樣的,囧。
4、然後測試一下,在命令列執行:tracd -p 8080 D:/trac_prj,然後開啟瀏覽器,輸入 http://127.0.0.1:8000/trac_prj 就可以看到 Trac 頁面了。好,接下來就是使用者驗證。
5、tracd 有個 auth 引數,可以指定驗證規則,不過 tracd 是使用 Apache 的 .htpasswd 檔案來儲存的,在 linux 下還可以方便地用 htpasswd /path/to/env/.htpasswd username 來增加,在 windows 下就沒有那麼容易了。幸好 trac 提供了一個 python 指令碼(見 http://trac.edgewall.org/demo-0.12/wiki/TracStandalone#GeneratingPasswordsWithoutApache)可以很方便地生成賬戶和密碼檔案。把這個指令碼儲存下來,命令列執行一下 python trac-digest.py -u username -p password >> c:/digest.txt,就可以把新使用者加入 c:/digest.txt 中了。然後在啟動 tracd 時使用如下命令:
tracd --port 8000 --auth=proj_name,c:/digest.txt,trac c:/path/to/proj_name
這時即可登入 trac 系統。

相關文章