通过搜索,知道有以下 ITS :
Bugzilla : 基于 Perl。
Gemini : 非开源,基于 .Net,免费版可供5人使用, SharpDevelop 就是用的他。
JIRA : 基于 Java,重量级。
Mantis : 基于 PHP,轻量级。
Trac : 基于 Python。
安装 建立trac.sh
#安装 Trac #!/bin/bash ## #trac 安装 #安装手册 http://trac.edgewall.org/wiki/TracInstall ## ##install dependence #install easy install wget http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg#md5=64c94f3bf7a72a13ec83e0b24f2749b2 sudo sh setuptools-0.6c9-py2.4.egg #install Genshi #sudo easy_install Genshi 这个版本低 sudo easy_install http://svn.edgewall.org/repos/genshi/trunk/ #install MySQL-python 1.2.2 #sudo wget http://pypi.python.org/packages/2.5/M/MySQL-python/MySQL_python-1.2.2-py2.5-win32.egg#md5=596ec38e498e80ce73759f777b29c588 #sudo sh setuptools-0.6c9-py2.4.egg sudo trac-admin /home/worker/online/trac_project/ wiki load /home/worker/online/tracChn/default-pages/ sudo easy_install MySQL_python #apache subversion #http://subversion.apache.org/ #http://trac.edgewall.org/wiki/TracSubversion sudo apt-get install subversion sudo apt-get install libapache2-svn sudo apt-get install python-subversion #create svn 目录这里改为你自己的目录 svnadmin create / #进入svn 目录conf 更改配置文件 #启动服务 svnserve -d svnserve -d -r /home/worker/svn_dir/project/ #默认端口:3690 #测试: svn://ip/ sudo apt-get install libtool autoconf autotools-dev wget http://cdnetworks-kr-1.dl.sourceforge.net/project/swig/swig/swig-1.3.40/swig-1.3.40.tar.gz tar zxf swig-1.3.40.tar.gz cd swig-1.3.40 sudo ./autogen.sh #install apache sudo apt-get install apache2 ##mod_python config #doc http://trac.edgewall.org/wiki/TracModPython sudo apt-get install libapache2-mod-python libapache2-mod-python-doc #install syntax highlighting sudo easy_install Pygments sudo trac-admin /home/worker/online/trac_project/ wiki load /home/worker/online/tracChn/default-pages/ #install WikiRestructuredText wget http://cdnetworks-kr-2.dl.sourceforge.net/project/docutils/docutils/0.6/docutils-0.6.tar.gz tar zxf docutils-0.6.tar.gz cd docutils-0.6 python setup.py install #install a complete list of time zones sudo easy_install pytz #install clearsilver for diff wget http://www.clearsilver.net/downloads/clearsilver-0.10.5.tar.gz tar zxf clearsilver-0.10.5.tar.gz cd clearsilver-0.10.5 sudo ./autogen.sh #Installing Trac #sudo easy_install http://svn.edgewall.org/repos/trac/tags/trac-0.11 #sudo apt-get install trac 0.11 sudo easy_install http://svn.edgewall.org/repos/trac/trunk #0.12 ##Create Database #CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; ##Create user #GRANT ALL ON trac.* TO trac@localhost IDENTIFIED BY 'bmc'; #mysql://user:password@localhost:3306/trac ##MyISAM to InnoDB #SELECT table_name, engine FROM information_schema.tables WHERE table_schema=DATABASE(); #ALTER TABLE `table_name` ENGINE = InnoDB; #Creating a Project Environment #http://trac.edgewall.org/wiki/TracEnvironment#SourceCodeRepository trac-admin /path/to/myproject initenv #change your path ## #1.enter your project name #2.enter mysql connection string #3.repository_type = svn #4.repository_dir = /path/to/your/repository /home/worker/online/QuoteCenter/ #run test tracd --port 8020 /home/worker/online/test
Trac 认证管理 生成密钥的python代码如下
## #python 生成安全认证 #python code start from optparse import OptionParser import md5 usage = "usage: %prog [options]" parser = OptionParser(usage=usage) parser.add_option("-u", "--username",action="store", dest="username", type = "string", help="the username for whom to generate a password") parser.add_option("-p", "--password",action="store", dest="password", type = "string", help="the password to use") (options, args) = parser.parse_args() # check options if (options.username is None) or (options.password is None): parser.error("You must supply both the username and password") # Generate the string to enter into the htdigest file realm = 'trac' kd = lambda x: md5.md5(':'.join(x)).hexdigest() print ':'.join((options.username, realm, kd([options.username, realm, options.password]))) #python code end
python trac-digest.py -u username -p password >> c:\digest.txt
#run test auth
#语法tracd -p port --auth=base_project_dir,password_file_path,realm project_path
/usr/bin/tracd --port 8020 --auth=trac_project,/home/worker/online/trac_project/conf/digest.txt,trac /home/worker/online/trac_project
Trac 中文问题
http://trac-hacks.org/wiki/TracDefaultWikiChinese
#本软件包为Trac 0.11.x默认wiki页面的完整中文版本, 所有页面文件都位于default-pages目录中.
#由于Trac 0.12开始支持国际化, 因此我们将重点放在了Trac 0.12版本的i18n支持上.
#Trac 0.11先仅提供默认wiki页面的完整中文版本.
svn co http://trac-hacks.org/svn/zoomquiettranslation/trunk/0.11.x
#安装
#1. 安装默认wiki页面到项目环境中, 执行命令:
sudo trac-admin /home/worker/online/trac_project/ wiki load /home/worker/online/tracChn/default-pages/
#2. 配置trac.ini, 增加如下配置:
[trac] default_charset = utf-8
[mainnav] wiki.href = /wiki/ZhWikiStart [metanav] help.href = /wiki/ZhTracGuide #3.将ZhTracGuideToc.py文件复制到环境的plugins目录: cp ZhTracGuideToc.py /home/worker/online/trac_project/plugins
Trac 8个企业应用必备的Trac插件
这些插件都可以在 Trac Hacks [url]http://trac-hacks.org/ [/url]上下载到。直接在首页搜索名字即可,因此本文就不再给出下载链接。
AdvancedTicketWorkflowPlugin
添加几种常用的ticket工作流动作,如转给上一个人、转给模块负责人、转给报告者、执行外部程序等。如果你想要自己打造一个适合项目的工作流,这个插件肯定会派上用场。
BatchModify
批量修改ticket属性。
TracAccountManager
可以从后台管理Trac帐号,但更重要的是,它可以提供一个基于Web的登录页面。
TracAuthRequired
要求使用者必须登录才能查看Trac内容。在企业应用中,项目的资料一般都需要保密,这个插件跟TracAccountManager配合使用,正好能满足要求。
TracReportManager
Trac可以自定义报告,但报告管理功能很弱,一不小心就会把辛辛苦苦写成的SQL语句删掉。 TracReportManager可以给ticket报告做备份,在修改报告之前先备份一下,就不用担心误删的问题了。
TracSectionEditPlugin
可以按照章节编辑wiki内容(就像WikiPedia那样)。一些手册页可能会很长很长,一次性编辑很不方便,而单独编辑某一章节就比较容易了。
TracTicketTemplate
ticket模板,可以给不同类型的ticket做不同的模板,能节约输入ticket的时间,规范ticket的格式。
TracWikiRename
给wiki页面改名,在整理wiki时很有用。