微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Trac安装手记及与Visual SVN Server集成

原文链接http://www.cnblogs.com/jeanvixue/archive/2011/05/17/2049375.html   项目越来越大,参加的人员也越来越多,为了管理上的方便,需要引用系统进行辅助.基于Trac的开源性质,以及其能与Subversion很好的集成,故选Trac.
  Trac是基于Python开发的.对我这个之前从未接触的来说,安装也是件很费心的事情,经过两周的折腾,总算成功的安装,并与VisualSVN Server成功的集成了,在XP SP3, Win2K3,及Win2K8 R2上成功安装,本次的安装选用目前的稳定版本Trac 0.12.记录如下:
  Subversion的服务器先前已经准备好,以前安装的是VisualSVN server,这个安装在此就不做说明了.
  依官网上的说明,针对Trac的依赖部分, 下载如下文件
  1. Python>=2.4 < 3.0; 选用Python 2.6.3, 直接安装,安装后加全局变量中加入PYTHONHOME=XXX; Path中加入%PYTHONHOME%; %PYTHONHOME%\scripts; 重起机器
  2.Setuptools >= 0.6(用于egg的安装);  选用setuptool-0.6c11 for py2.6  
  3. Genshi >=0.6(自Trac 0.11以来的页面引擎); 选用Genshi-0.6-py2.6.egg ;安装方式为easy_install Genshi-0.6-py2.6.egg
  4. DB(可支持的为sqlite, Postgresql, MysqL). 我选用的为Postgresql 8.4.8
  5. 因选用的为Postgresql,故还需要Python的Postgresql的plugin, psycopg2, 在Windows下的安装直接找Win32 setup版本的安装比较方便,否则会出错.
  6. Python的其他Package, Trac的增强部分, Babel 本地化插件; docutils wiki的操作相关, Pyments 语法高亮插件; pytz时区的插件, 这些的安装都是通过setup.py install的方式进行的.
  7. Trac的安装,选用的为0.12版本
  因为要与版本管控进行集成,所以还会涉及Subversion的插件部分,(如没有与Subversion集成,则不需要如下的)
  8. Subversion的Python plugin,我选用的为svn-win32-1.6.16_py.zip. 安装的方式为将解压出来的libsvn及svn目录copy到%Pythonhome%\lib\site-packages下,并依要求将libsvn下的.dll改为.pyd, 注意libsvn_swig_py-1.dll这个文件不能修改.
  为了与VisualSVN server集成,我们还需要准备
  9. Subversion的安装文件, Setup-Subversion-1.6.16, 虽然我们已经有了VisualSVN server,但无法与Python的SVN插件工作,故我们还是要下载这个安装后,将BIN目录下的文件copY覆盖VisualSVN Server下的BIN目录下的同名文件. 同时在Path中加到VisualSVN server安装路径下的bin目录
  10. apach的wsgi插件,这个是Trac推荐的方式. mod_wsgi.so. 将其copY至visualSVN server安装的bin目录下,备用.
  以上安装好了以后,接下来就是配置部分了.(如下以我安装的实际路径为例)
  1. 执行trac-admin c:\trac_home\5th initenv; 依提示输入你的项目称, 及DB的访问字串. 我选用的为Postgresql, 故格式为:postgres://user:pass@localhost:5432/dbname?schema=schemaname
  2. 通过tracd -p 8080 c:\trac_home\5th起动WEB服务, 然后在浏览器地址栏中输入http://localhost:8080/trac_home/5th来确认是否安装成功,如果成功,可以正常的浏览.
  3. 设置版本库, Trac仅支持版本库与Trac在同一台机器上. 在c:\trac_home\5th\conf\trac.ini, 中在trac段中的 repository_dir =C:\Repositories\Repository, 重启Trac.
  4. 此时访问Trac会提示版本库未同步,故执行trac-admin c:\trac_home\5th repository resync '*' 进行版本库的同步,将SVN的版本库同步至TRAC所DB中. 这些访问就可以正常了.
  5.接下来是最后一步与VisualSVN Server的集成.
    1) 在Visual SVN Server的安装路径下conf\httpd-custom.conf文件中加入, 用户必须存在于VisualSVN server中.
LoadModule wsgi_module bin/mod_wsgi.so
LoadModule authz_user_module bin/mod_authz_user.so

WsgiScriptAlias /trac/5th c:\Trac_home\5th\trac.wsgi

<Directory c:\Trac_home>
   WsgiApplicationGroup %{GLOBAL}
#    Order deny,allow
#    Allow from all
</Directory>

<Location '/trac/5th/login'>
AuthType Basic
AuthName "Trac_home 5th"
AuthUserFile C:/Repositories/htpasswd
Require valid-user
</Location>

    2) 在c:\trac_home\5th下增加trac.wsgi文件, 内容
      
#!C:\Python27\python.exe
# -*- coding: utf-8 -*-
#
# copyright (C)2008-2009 Edgewall Software
# copyright (C) 2008 Noah Kantrowitz <[email protected]>
# All rights reserved.
#
# This software is licensed as described in the file copYING, which
# you should have received as part of this distribution. The terms
# are also available at http://trac.edgewall.org/wiki/TracLicense.
#
# This software consists of voluntary contributions made by many
# individuals. For the exact contribution history, see the revision
# history and logs, available at http://trac.edgewall.org/log/.
#
# Author: Noah Kantrowitz <[email protected]>
import os

def application(environ, start_request):
    if not 'trac.env_parent_dir' in environ:
        environ.setdefault('trac.env_path', 'c:\\trac_home\\5th')
    if 'PYTHON_EGG_CACHE' in environ:                                           
        os.environ['PYTHON_EGG_CACHE'] = environ['PYTHON_EGG_CACHE']
    elif 'trac.env_path' in environ:
        os.environ['PYTHON_EGG_CACHE'] = \
            os.path.join(environ['trac.env_path'], '.egg-cache')
    elif 'trac.env_parent_dir' in environ:
        os.environ['PYTHON_EGG_CACHE'] = \
            os.path.join(environ['trac.env_parent_dir'], '.egg-cache')
    from trac.web.main import dispatch_request
    return dispatch_request(environ, start_request)
    3)重启Visual SVN server, 即可正常访问 http://localhost/trac/5th
  至此, Trac的安装与VisualSVN SERVER的集成完毕
  参考资料:
  1. Trac官网 http://trac.edgewall.org;
  2. 博园 http://www.cnblogs.com/xwing/archive/2011/04/25/2026526.html

转载于:https://www.cnblogs.com/jeanvixue/archive/2011/05/17/2049375.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐