欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Trac 安装过程

程序员文章站 2022-06-02 20:50:13
...

一. trac 简介

Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有团队的开发过程。

二. trac  安装

一、下载Trac的压缩包并安装Trac:
 
http://trac.edgewall.org/wiki/TracDownload下载Trac-1.0.1.tar.gz压缩包。使用tar命令解压,进入解压的文件中查看INSTALL文件,看到首先需要安装easy_install,安装方法:
  $ python ez_setup.py
执行完这两条命令,easy_install就安装成功了,可以使用easy_install先把Trac的另一个依赖Genshi安装上,安装方法:
  $ easy_install Genshi
也可以不事先安装好Genshi,安装Trac的时候也会自动安装它的。
下面就该安装Trac了。安装很简单,在解压好的Trac目录中会有一个setup.py的文件,然后执行下面命令:
  $ python ./setup.py install
这样Trac就安装成功了。
 
二、创建Trac环境:
 
首先需要创建一个文件夹,比如,我在/usr/local/下创建一个trac文件夹,然后使用trac-admin就可以初始化Trac环境了:
  # cd /usr/local/
  # mkdir trac
  # trac-admin /usr/local/trac initenv
在初始化时会需要填入两个参数:
一个是项目名称,随便填写一个,我填入Jingoal。
另一个是数据库String,简单起见使用默认的数据库,直接按Enter就可以了。
trac环境就搭建完成了。
 
三、运行Trac:
 
最简单的运行方法是使用Trac自带的Server,运行方法如下:
  # tracd --port 8000 /usr/local/trac
这样Trac就运行起来了,通过浏览器访问 http://localhost:8000/ 就看到你的项目了,点击链接进去,就看到我的Trac了。
 
四、创建管理用户:
 
现在Trac是能看到了,但是却不能新建或者编辑Ticket,也不能编辑Wiki,是你没有登陆的缘故,但点击Login出现了TracError无法登陆。下面还要好好看一下Trac的文档,创建一个admin来管理Trac。方法如下:
1.首先需要创建一个密码本
如果机器上有apache的htpasswd工具,那就使用该工具就很容易创建一个密码本了。
 $ sudo htpasswd -c /usr/local/trac/.htpasswd admin
使用该命令时会要求你填入密码,填完之后就完成了。
如果还要多添加账号,使用下面命令:
 $ sudo htpasswd /usr/local/trac/.htpasswd username2
2.有了密码本还是不行,还需要给账号添加Trac的权限,那我就把最大的Trac管理权限赋给该账号:
$ trac-admin /usr/local/trac permission add admin TRAC_ADMIN
3.使用密码本启动Trac
 $ tracd -p 8000 --basic-auth="trac,/usr/local/trac/.htpasswd,admin" /usr/local/trac
basic-auth参数的第一个字段需要填写文件夹的名称,第二个字段是密码本的位置,第三字段随意填写。
这时再通过浏览器访问,点击Login就会出现登录框了。填写密码本里的用户名密码就能登录了。
PS:如果没有apache的话,使用下面方法创建密码本:
首先将下面内容保存为trac-degist.py文件:
from optparse import OptionParser
# The md5 module is deprecated in Python 2.5
try:
    from hashlib import md5
except ImportError:
    from md5 import md5
realm = 'trac'

# build the options
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")
parser.add_option("-r", "--realm",action="store", dest="realm", type = "string",
                  help="the realm in which to create the digest")
(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")
if (options.realm is not None):
   realm = options.realm
   
# Generate the string to enter into the htdigest file
kd = lambda x: md5(':'.join(x)).hexdigest()
print ':'.join((options.username, realm, kd([options.username, realm, options.password])))

然后:

 $ python trac-digest.py -u admin -p password >> /usr/local/trac/digest.txt $ tracd --port 8000 --auth=trac,/usr/local/trac/digest.txt,trac /usr/local/trac
$ trac-admin /usr/local/trac permission add admin TRAC_ADMIN

这样启动浏览器一样可以登陆了。

 

五、安装Trac账号管理插件

使用上面的方法管理账号太不友好了,找到了一个accountManagerPlugin插件,地址:http://trac-hacks.org/wiki/AccountManagerPlugin

下载完成之后,然后解压、编译,之后会在dist目录中产生一个egg文件,将这个文件放入trac项目的plugins目录中,过程如下:

 $ unzip accountmanagerplugin_tags_acct_mgr-0.4.3-13363.zip
 $ cd accountmanagerplugin/tags/acct_mgr-0.4.3/
 $ sudo python setup.py bdist_egg
 $ cp dist/TracAccountManager-0.4.3-py2.7.egg /usr/loca/trac/plugins

下面还需要配置一下Trac:

配置参考地址:http://trac-hacks.org/wiki/AccountManagerPlugin/AuthStores

在Trac的conf目录下有一个trac.ini文件,该文件时trac的配置文件,修改trac.ini配置:

  (1)新增组件的支持:

在[components]段中增加:

trac.web.auth.LoginModule = disabled  #禁用传统的登录模块插件

acct_mgr.htfile.HtPasswdStore = enabled

 

(2)设置密码表文件:

[account-manager]

 

password_store = HtPasswdStore

password_format = htpasswd

htpasswd_hash_type = 

htpasswd_file = /usr/local/trac/.htpasswd

 

 

 

再次启动的时候就不用再指定密码本了,使用下面命令即可启动:

 $ tracd -p 8000 /usr/local/trac

这次登陆的就是在网页中登陆了,

进入Admin中在General下面就多了个Accounts,以后就可以在这里管理用户了。

相关标签: 开源软件