技术开发 频道

SVN+Trac的配置笔记

    更详细的修改见官方的文档。 

    默认的TRAC上的页面匿名都可以修改的。这里需要权限的配置。
    增加1个超级用户,注意路径是项目目录

trac-admin e:/trac/project permission add bugx TRAC_ADMIN
TRAC_ADMIN是一个默认的超级用户组,相当与ROOT

    可以通过

trac-admin e:/trac/project permission list 列出当前的用户和权限

    限制下anonymous的权限

trac-admin e:/trac/project permission remove anonymous WIKI_CREATE 等等对多用户可以设置组,然后对组进行设置权限。C:\Python24>python scripts/trac-admin e:/trac/project permission add developer BROWSER_VIEW CHANGESET_VIEW CONFIG_VIEW FILE_VIEW LOG_VIEW MILESTONE_VIEW详细的命令查看http://trac.edgewall.org/wiki/TracPermissions当我以为设置的差不多的时候,点login登陆的时候显示

Internal Error
Authentication information not available. Please refer to the installation documentation.

    这个郁闷了,还没设置用户嘛。我就找了nowa的配置文件和批处理,发现他的批处理里用到了users.htdigest文件引用,这个是密码文件,apache可以生 成,我COPY过去用下,不行。很郁闷,就被我找到了台湾同胞的那个方法。其实这个方法适合Standalone 的 tracd服务,如果用APACHE,那网上很多文章都可以参考。

    把下面的脚本存为 trac-digest.py并放在PYTHON14的SCRIPTS下面

from optparse import OptionParser
import md5

# 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")
(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 = 'developer'
kd = lambda x: md5.md5(':'.join(x)).hexdigest()
print ':'.join((options.username, realm, kd([options.username, realm, options.password])))

    中间这句
realm = 'developer'
    是设定用户组的。这里建议和SVN一样
    通过命令:C:\Python24>python scripts/trac-digest.py -u bugx -p 123456 >>e:\trac\trac-user.txt
    可以看见在trac下建立了一个trac-user.txt的密码文档。打开内容如下:
bugx:developer:9a3e2c7267643ec735505f944643835b

    在桌面上建立一个批处理,用来启动Trac。
@echo off
echo trac is now starting...
cd \
cd python24
python scripts/tracd --port 8080 --auth *,e:\trac\trac-user.txt,developer e:/trac/project
:end

    --port 8080是监听端口。
    --auth * 是所有的项目用相同的帐号登陆
    e:/trac/project 是项目的路径。多个项目就 空格隔开

    OK!启动,窗口不要关,就可以了,如果你要把这个批处理设置为服务或者放在启动文档里,也可以哦。

0
相关文章