项目管理软件Trac的安装与调试

本文来自:http://blog.csdn.net/etongchina/archive/2009/09/12/4547251.aspx

感谢网友etongchina提供的文章,没有它要装好trac就太困难了。

 

全文如下:

 

 

在项目管理中 ITS(Issue Tracking System) 和 VCS(Version Control System) 是必不可少的,ITS中犹以开源的Trac使用最多。

首先简单介绍一下Trac:trac是一个开源的,基于解释型语言python的程序。

本文结合作者自己的实际操作来谈谈Trac安装的问题:

本文假定您已经安装了SVN,主要有2种安装方法。如果没安装,请看我的下一篇文章《版本控制软件SVN的安装与调试》

一 单独安装Trac

以下部分引用自 http://www.subversion.org.cn/?action-viewnews-itemid-11

########--引用开始--########

1) 下载程序,注意以下程序基于Subversion1.4.2

Python: http://www.python.org/ftp/python/2.4.4/python-2.4.4.msi
Trac: http://ftp.edgewall.com/pub/trac/trac-0.10.2.win32.exe
Clearsilver: http://www.clearsilver.net/downloads/win32/clearsilver-0.9.14.win32-py2.4.exe
Pysqlite: http://initd.org/pub/software/pysqlite/releases/2.3/2.3.2/pysqlite-2.3.2.win32-py2.4.exe
svn-python: http://subversion.tigris.org/downloads/svn-python-1.4.2.win32-py2.4.exe
Python是必须的运行环境,Trac自然要下载,Clearsilver是Trac需要的页面显示框架,Pysqlite是访问sqlite数据库的程序包,而svn-python是访问Subversion的程序包。

*作者注: 以上软件都是针对Subversion1.4.2,安装前请认清SVN版本号

2) 配置环境

首先安装Python,然后其他几个安装程序能够自动识别Python的安装,从而只需要按照默认安装即可。

3) 配置Trac
我的Python安装在“D:/Python24”,我们在D盘创建了一个目录trac,作为trac环境存放的目录,然后在“D:/Python24/Scripts”下运行(“>”后的为实际输入的内容,后面相同):
*作者注:在cmd命令行模式下运行以下代码:

D:/Python24/Scripts>../python.exe trac-admin d:/trac initenv

然后提示输入Project的名字,我们输入自己喜欢的名字,这里我输入tractest,回车;然后询问使用何种数据库,为了教程的简单,这里使用默认的 sqlite数据库,直接回车即可,数据库会存放在环境存放的目录;然后会询问版本库的类型,默认即可;然后会询问版本库的路径,在这个例子里我输入的是 “d:/svnroot/project2”,这个目录里就是我的一个版本库;然后提示使用何种模版,回车默认即可。最后回车,如果没有问题,trac配置环境就建立起来了,现在启动服务器即可,运行:

D:/Python24/Scripts>../python.exe tracd --port 8000 d:/trac

然后在浏览器打开“http://localhost:8000/trac” ,如果看到有内容,应该就是安装成功了,恭喜!

提示:关于Trac中版本库中文显示的问题,我看了一下,Trac处理文件编码是通过D:/trac/conf(刚才设置trac环境目录的配置目录)中的trac.ini文件的default_charset实现的,例如下面的配置:

default_charset = UTF-8

则在版本库中的文本文件如果是UTF-8编码的,则其中的中文字显示非常正常,当然如果是GBK(其实就是ISO88591)的文件,显示的中文是乱码。要想完全解决这个问题,不是单纯Trac能解决的,需要考虑更全面的方式解决。

########--引用结束--########

*作者注:由于本人安装时,SVN版本号大于1.4.2 所以导致了如下错误:

("Expected FS format '2'; found format '4'", 160043)

错误号160043 其实表述的是您的SVN版本号高于Trac可以支持的范围,可以升级相应的软件

二 使用Apache集成Trac,其实就是将trac作为一个模块来使用,同普通访问网站一样,推荐此种安装

这里又可分为两种安装方式,一种是将Trac安装于VisualSVN(已经集成Apache),另一种就是让Apache集成SVN和Trac。

1) 将Trac安装于VisualSVN

官方有说明:http://www.visualsvn.com/server/trac/  ,是英文的,比较详细,但考虑到许多同志对英文比较反感,特翻译一下:

1.下载VisualSVN Server 2.0或更高版本

2.以默认设置安装(也可以自定义)

3.在VisualSVN Server管理界面创建"MyProject"仓库

4.至少创建一个SVN的账号
 
5.下载VisualSVN-Server-Trac-2.0.0.20384.zip (约12M).
 
6.解压至%ProgramFiles%//VisualSVN Server或你的安装目录
 
7.创建Trac的目录 例如Create folder C:/Trac

8.允许服务能够访问Trac的目录

9.在命令行执行:

  "%ProgramFiles%/VisualSVN Server/trac/trac-admin.bat" C:/Trac/MyProject initenv

   使用默认的C:/Repositories/MyProject作为SVN仓库路径.

10.添加系统变量:
   PYTHONHOME=%ProgramFiles%/VisualSVN Server/Trac/python

11.修改VisualSVN Server下的conf/httpd-custom.conf,添加一下内容

* 如果使用SVN自带的认证,添加以下代码
LoadModule python_module "trac/python/mod_python_so.pyd"
LoadModule authz_user_module bin/mod_authz_user.so
<Location /trac>
  SetHandler mod_python
  PythonInterpreter main_interpreter
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnvParentDir C:/Trac
  PythonOption TracUriRoot /trac

  AuthName "Trac"
  AuthType Basic
  AuthBasicProvider file
  AuthUserFile "C:/Repositories/htpasswd"
  Require valid-user
</Location>

* 如果使用的是Windows系统自带的认证,即系统登陆账号,则添加以下代码
LoadModule python_module "trac/python/mod_python_so.pyd"
LoadModule authz_user_module bin/mod_authz_user.so
<Location /trac>
 SetHandler mod_python
 PythonInterpreter main_interpreter
 PythonHandler trac.web.modpython_frontend
 PythonOption TracEnvParentDir C:/Trac
 PythonOption TracUriRoot /trac

 AuthName "Trac"
 AuthType Basic
 AuthBasicProvider visualsvn
 Require valid-user
</Location>Restart VisualSVN Server.

12.通过 http://localhost/trac/  或者 https://localhost/trac/ 访问如果提示登陆说明安装成功!

*作者注:在自定义安装路径的时候记得要将 trac/python/Scripts/tracd-script.py  里的

#!C:/Ivan/server-trunk/trac/dist/python/python.exe

修改为:

#!./python.exe

其实就是修改python解析器的路径了

*作者注:其实通过此种安装也可以独立运行Trac,方法为写一个BAT文件,添加以下内容

#代码开始
e:
cd E:/VisualSVN Server/trac/python/Scripts
tracd --port 8000 E:/web/trac/MyProject
@echo 'keep on'
PAUSE
#代码结束

这里我的VisualSVN的安装路径为E:/VisualSVN Server/
Trac目录为E:/web/trac
端口为8000
可以通过http://127.0.0.1:8000 来访问

2) Apache集成SVN和Trac

以下部分引用自 http://www.cnblogs.com/zealic/archive/2007/12/29/1019837.html

########--引用开始--########
1) 准备软件

SVN-1.46 : 
http://subversion.tigris.org/files/documents/15/41077/svn-win32-1.4.6.zip

SVN-1.46-Py2.5 :
http://subversion.tigris.org/files/documents/15/41078/svn-win32-1.4.6_py25.zip

TortoiseSVN-1.4.6 (可选) :
http://jaist.dl.sourceforge.net/sourceforge/tortoisesvn/TortoiseSVN-1.4.6.11647-win32-svn-1.4.6.msi

TortoiseSVN-1.4.6-LangPack (可选): 
http://jaist.dl.sourceforge.net/sourceforge/tortoisesvn/LanguagePack-1.4.6.11647-win32-zh_CN.exe

Apache-2.2.6 :   
http://apache.mirror.phpchina.com/httpd/binaries/win32/apache_2.2.6-win32-x86-no_ssl.msi

Python-2.5 :
http://www.python.org/ftp/python/2.5/python-2.5.msi
 
Mod_Python-3.3.1-py2.5-Apache2.2 :
http://apache.mirror.phpchina.com/httpd/modpython/win/3.3.1/mod_python-3.3.1.win32-py2.5-Apache2.2.exe
 
SetupTools-0.6c7
http://peak.telecommunity.com/dist/ez_setup.py

PySqlite-2.4.0-py2.5  :
http://initd.org/pub/software/pysqlite/releases/2.4/2.4.0/pysqlite-2.4.0.win32-py2.5.exe

http://files.cnblogs.com/zealic/pysqlite-2.4.0.win32-py2.5.rar  

Trac-0.11b :
http://ftp.edgewall.com/pub/trac/Trac-0.11b1.zip

Genshi-0.4.4-py2.5 :
http://ftp.edgewall.com/pub/genshi/Genshi-0.4.4-py2.5.egg

*以上大多软件都有明确的依赖关系,切忌使用最新版本,比如 Mod_Python 依赖 Python-2.5,哪怕是 Python-2.5.1 都不支持

将以上所有软件下载到 D:/Setup
                      
2) 配置环境
  2.1) 安装基本环境
   首先安装 Python-2.5,这里假设安装到 D:/Python
   安装 Apache-2.5.6,这里假设安装到 D:/Apache
   安装 Mod_python。
  
  2.2) 配置环境
    在 httpd.conf 末尾加入以下代码:

LoadModule python_module modules/mod_python.so
Alias /hi/ "D:/Apache/htdocs/py_scripts/"
<Directory "D:/Apache/htdocs/py_scripts/">
  AddHandler mod_python .phtm
  PythonHandler test
  PythonDebug On
</Directory>
   
    创建一个文件 test.py 到 Apache 的 ./htdocs/py_scripts 目录中

[test.py]
from mod_python import apache
def handler(req):
req.content_type = 'text/plain'
req.write("Hello World!")
return apache.OK
   
  2.3) 测试
   启动 Apache 服务。
   访问
http://127.0.0.1:8080/hi/hello.phtm 测试,出现 "Hello World!" 代表成功。
   
  2.4) 安装 pysqlite
        执行 pysqlite-2.4.0.win32-py2.5.exe 以自动安装 pysqlite。

3) 安装 Subversion
  这里假设 Subversion 安装到 D:/Subversion
  3.1) 安装 Subversion service
    安装 Subversion 服务,请参考我的 用 BAT 注册 Subversion 服务 以简化安装步骤。
 
  3.2) 安装 Python binding for Subversion
    解压 svn-win32-1.4.6_py25.zip,将 svn 目录和 libsvn 目录复制到 D:/Python/Lib
    修改 libsvn 目录下的 "_*.dll" 文件为 "_*.pyd"


  3.3) 与 Apache 整合
     a) 装载模块
        复制 D:/Subversion/bin 目录下的以下文件复制到目录 D:/Apache/dlls
        - intl3_svn.dll
        - libdb44.dll
        - ssleay32.dll
        - libeay32.dll
        - mod_authz_svn.so
        - mod_dav_svn.so

     b) 配置 Apache
      在 httpd.conf 末尾加入以下代码:

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module dlls/mod_dav_svn.so
LoadModule authz_svn_module dlls/mod_authz_svn.so
<Location /svn>
  DAV svn
  SVNParentPath "G:/ALM/VersionRepository"
</Location>
# libsvn 依赖下面的两个 dll,如若不导入,则会造成 trac 无法进行 Browser source
LoadFile "./dlls/ssleay32.dll"
LoadFile "./dlls/libeay32.dll"
  3.4) 测试
      关闭 Apache 服务,并重启。
      确保你的 Svn 仓库中存在 MyRepos。
      访问
http://127.0.0.1:8080/svn/MyRepos
      出现 Subversion 你的 MyRepos 仓库的目录结构则代表成功。

4) 安装 Trac
  4.1) 安装 Trac
    a) 直接执行 ez_setup.py 以安装 Python SetupTools。

    b) 解压 Trac 到 D:/Setup/Trac-0.11b1
       安装 Trac 依赖包 Genshi-0.4.4-py2.5.egg

D:/Python/Scripts/easy_install D:/Setup/Genshi-0.4.4-py2.5.egg
    c) 安装 Trac

D:/Setup/Trac-0.11b1/setup.py install
    d) 初始化 trac 仓库

D:/Python/Scripts/trac-admin D:/ALM/trac/test initenv
      按照命令提示进行 test 的配置。


  4.2) 与 Apache 整合
    在 Apache 中添加以下代码

<Location /trac>
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnv D:/ALM/trac/test
    SetEnv PYTHON_EGG_CACHE /tmp
    PythonOption TracUriRoot /trac
    AuthType None
</Location>
  4.3) 测试
    打开
http://127.0.0.1:8080/trac/browser ,检查是否显示 SVN 的目录树。
    出现则代表成功。

5) 安装 TortoiseSVN (可选)
    安装 TSVN 及其语言包。

6) 依赖关系图


r_TracRelation

图标释义 :
  星星 : 独立组件。
  灯泡 : 依赖其他独立组件的组件。
  魔法棒 :   Apache 模块。
  蓝线为依赖 Subversion。
  橙线为依赖 Python。
  紫线为依赖 Apache。

 

7) 结束语

  Trac 配置起来很复杂,这里只做了简单的配置,甚至没做任何权限管理。
  这些内容,我们下次再说。

警告 :
1.本文所使用的是 Trac 0.11b1 版,不保证对文章内容对其他版本适用。
2.同样也不推荐你在实际环境部署使用该beta版,如出现任何问题,概与本人无关。

########--引用结束--########

在实际安装中Apache应该已经安装,故上文不一定全部适用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值