以 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] 台湾著名计算机技术做家。