Trac 安装过程

一. 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)新增组件的支持:

扫描二维码关注公众号,回复: 701673 查看本文章

在[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,以后就可以在这里管理用户了。

猜你喜欢

转载自loveeveryday.iteye.com/blog/1933652