制作Portable Trac实践

rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">

引言

Python社区混的时候,第一次听Zoom.Quiet等介绍起开源的项目管理工具trac。于是登录官网[http://trac.edgewall.org],并按照TracOnWindows的描述完成了Trac系统在Windows操作系统的安装配置。当时将trac运行在Apache2.0上,对于ApacheSubversionPython等相关知识都不够熟悉,Trac的安装又没有一个简单的安装程序能够一点即成,以至于从开始动手配置到断断续续地完成整个系统的搭建花费了大约两周的时间这是一个相当痛苦的过程。之后操作系统重装,源码服务器更换,再次重新配置Trac仍然觉得是一个相当繁琐的工作。总之,相对于Trac的简单易用,Trac的安装配置实在不是一件令人心情愉快的工作。经网上搜索发现了Build Protable-Trac,实践一番之后,配置成功,与各位同仁分享之。

实现目地及相关约定

本文实践中的PortableTrac,能够在拷贝到新安装windows操作系统的计算机上后,经简单配置即可运行。所谓简单配置,指配置时间在一分钟以内。相关约定如下:

PortableTrac的路径设置:E:/PortableTrac/

PortablePython的路径:E:/PortableTrac/PortablePython/

Subversion代码仓库的父路径设置:E:/PortableTrac/svn/

Trac项目的父路径设置:E:/PortableTrac/trac/

安装Apache

1.     下载APMXE (Apache 2.0.58, PHP, MySQL 綠色套裝版)

2.     解压相关文件到文件夹E:/PortableTrac

3.     修改E:/PortableTrac/etc/httpd.conf.template,Listen 80改为Listen 8000(通常IIS已经占用了80端口,修改为其他端口号)

4.     运行E:/PortableTrac/run-fleaphp.exe,如相关网站正常发布,则Apache配置成功

5.     正式运行时,我们希望将Apache安装为服务,执行如下操作:
复制E:/PortableTrac/etc/httpd.confE:/PortableTrac/apache2/conf/httpd.conf
命令行执行:E:/PortableTrac/apache2/bin/Apache.exe –k intall

6.     Apache提供mod_python支持:下载mod_python-3.3.1.win32-py2.5-Apache2.0.exe并执行之

1: “E:/PortableTrac/etc/httpd.conf.template”,该文件是一个模板文件,E:/PortableTrac/run-fleaphp.exe根据该模板文件生成Apache配置文件E:/PortableTrac/etc/httpd.conf。在该模板文件中发现会有多处出现—[%APMXE%],它代表APMXE的安装路径,本文中安装路径即E:/PortableTrac

安装Subversion

1.     前往官方网站下载zip格式的Subversion分发包--svn-win32- 1.5.0 .zip

2.     停止Apache运行。

3.     将解压后svn-win32- 1.5.0 /bin/文件夹下的mod_authz_svn.somod_dav_svn.so拷贝至E:/PortableTrac/apache2/modules/

4.     将解压后svn-win32- 1.5.0 /bin/文件夹下除*.so外所有文件拷贝至E:/PortableTrac/apache2/bin/

5.     修改E:/PortableTrac/etc/httpd.conf.template,增加如下两行代码:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

6.     下载对应版本Python支持包,svn-python- 1.5.0 .win32-py2.5.exe,双击执行之

安装TortoiseSVN并创建版本库

TortoiseSVNWindows 下的一种 Subversion 客户端,使用方便。

1.     前往TortoiseSVN网站http://tortoisesvn.net,下载软件及对应语言包

2.     在文件夹E:/PortableTrac/svn/点击右键,选择菜单[TortoiseSVN]-[在此创建版本库],按照提示进行操作即可。为方便演示,我们创建一个名为test的版本库。

3.     配置Apache使得支持版本库,打开E:/PortableTrac/etc/httpd.conf.template,在文件最后添加如下代码节

<Location /svn/>

  DAV svn

  SVNListParentPath on

  SVNParentPath %APMXE%/svn

  AuthType Basic

  AuthName "Subversion repository"

  AuthzSVNAccessFile %APMXE%/trac/.svn_AuthzSVNAccessFile

  AuthUserFile %APMXE%/trac/.svn_passwd

  Require valid-user

</Location>

4.     配置AuthzSVNAccessFile,该文件用于设置Subversion版本库的访问控制文件的路径。根据上面设置,我们新建文本文件E:/PortableTrac/trac/.svn_AuthzSVNAccessFile,文件内容类似下面

[groups]

admin = john, kate

devteam1 = john, rachel, sally

devteam2 = kate, peter, mark

docs = bob, jane, mike

training = zak

# Default access rule for ALL repositories

# Everyone can read, admins can write, Dan German is excluded.

[/]

* = r

@admin = rw

dangerman =

# Allow developers complete access to their project repos

[proj1:/]

@devteam1 = rw

[proj2:/]

@devteam2 = rw

[bigproj:/]

@devteam1 = rw

@devteam2 = rw

trevor = rw

# Give the doc people write access to all the docs folders

[/trunk/doc]

@docs = rw

# Give trainees write access in the training repository only

[TrainingRepos:/]

@training = rw

5.     配置AuthUserFile, 设置的文件用于指定使用的认证密码文件。新建空白文本文件E:/PortableTrac/trac/.svn_passwd,然后在命令行使用下面命令为上面设置的用户johnkate设置密码

E:/PortableTrac/apache2/bin/htpasswd.exe E:/PortableTrac/trac/.svn_passwd john

E:/PortableTrac/apache2/bin/htpasswd.exe E:/PortableTrac/trac/.svn_passwd kate

安装ProtablePython

1.       下载 Portable Python (python version 2.5)

2.       解压到E:/PortableTrac/PortablePython/

3.       设定注册表信息:新建文件E:/PortableTrac/etc/PortablePython.reg并双击执行之。文件内容如下:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER/Software/Python]

[HKEY_CURRENT_USER/Software/Python/PythonCore]

 

[HKEY_CURRENT_USER/Software/Python/PythonCore/2.5]

 

[HKEY_CURRENT_USER/Software/Python/PythonCore/2.5/InstallPath]

@="E://PortableTrac//PortablePython"

 

[HKEY_CURRENT_USER/Software/Python/PythonCore/2.5/InstallPath/InstallGroup]

@="Python 2.5"

 

[HKEY_CURRENT_USER/Software/Python/PythonCore/2.5/Modules]

 

[HKEY_CURRENT_USER/Software/Python/PythonCore/2.5/PythonPath]

@="E://PortableTrac//PortablePython//Lib;E://PortableTrac//PortablePython//DLLs;E://PortableTrac//PortablePython//Lib//lib-tk"

4.       设定环境变量:新建文件E:/PortableTrac/etc/PythonHome.reg,并双击导入之。环境变量导入后可能需要重新启动操作系统。文件内容如下:

Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Control/Session Manager/Environment]

"PYTHONHOME"="E://PortableTrac//PortablePython"

注意:有的计算机上可能无法通过注册表导入该环境变量,请手工添加环境变量:

PYTHONHOME=E:/PortableTrac/PortablePython

 

安装与配置Trac

1.     安装Trac:在官方网站根据Wiki页面TracInstall,下载相关exe安装包如SetupToolsGenshitrac等,进行安装。

2.     创建trac使用实例,执行如下命令行,并按提示进行。注意:中括号中为一行

//注意下面为一行

E:/PortableTrac/PortablePython/python.exe E:/PortableTrac/PortablePython/Scripts/trac-admin-script.py E:/PortableTrac/trac/test initenv

//注意上面是一行

Creating a new Trac environment at E:/PortableTrac/trac/test

 

Trac will first ask a few questions about your environment

in order to initalize and prepare the project database.

 

 Please enter the name of your project.

 This name will be used in page titles and descriptions.

 

Project Name [My Project]> test –这是项目名称

 

 Please specify the connection string for the database to use.

 By default, a local SQLite database is created in the environment

 directory. It is also possible to use an already existing

 PostgreSQL database (check the Trac documentation for the exact

 connection string syntax).

 

Database connection string [sqlite:db/trac.db]> --此处直接回车

 

 Please specify the type of version control system,

 By default, it will be svn.

 

 If you don't want to use Trac with version control integration,

 choose the default here and don't specify a repository directory.

 in the next question.

 

Repository type [svn]>  --直接回车,使用Subversion

 

 Please specify the absolute path to the version control

 repository, or leave it blank to use Trac without a repository.

 You can also set the repository location later.

 

Path to repository [/path/to/repos]> ../../svn/test –此处使用相对路径

 

Creating and Initializing Project

3.     创建用户及分配权限。首先添加一个管理员帐户(此处我们使用admin)即可,执行如下命令行:

//注意下面为一行

E:/PortableTrac/PortablePython/python.exe E:/PortableTrac/PortablePython/Scripts/trac-admin-script.py E:/PortableTrac/trac/test permission add admin TRAC_ADMIN

//注意上面是一行

4.     Apache整合,打开E:/PortableTrac/etc/httpd.conf.template,在文件最后添加如下代码节

<IfModule mod_python.c>

    <Location /projects>

        SetHandler mod_python

        PythonHandler trac.web.modpython_frontend

        PythonOption TracEnvParentDir %APMXE%/trac

    </Location>

    <LocationMatch "/projects/[^/]+/login">

         AuthType Basic

         AuthName "Authorization"

         AuthUserFile "%APMXE%/trac/.trac_passwd"

         Require valid-user

    </LocationMatch>

</IfModule>

5.     为管理员创建密码。在上个步骤中注意到AuthUserFile "%APMXE%/trac/.trac_passwd"指定了密码文件。首先创建空白文本文件E:/PortableTrac/trac/ .trac_passwd,然后执行下面命令行为帐号admin设定密码

E:/PortableTrac/apache2/bin/htpasswd.exe E:/PortableTrac/trac/ .trac_passwd admin

使用Trac

最终发布前再进行下如下操作:

1.       执行一下E:/PortableTrac/run-fleaphp.exe,这个步骤主要是生成最新的配置文件

2.       复制最新的E:/PortableTrac/etc/httpd.confE:/PortableTrac/apache2/conf/httpd.conf

经过上述操作之后,启动服务Apache2,即将TracSubversion通过Apache发布在Windows操作系统上。

1.       访问http://localhost:1668/projects,即可打开Available Projects列表,点击具体链接进入相关项目

2.       访问http://localhost:1668/svn/,即可打开Collection of Repositories列表

3.       通过TortoiseSVN,在本地文件夹点击右键,打开菜单[SVN检出],在[版本库Url]中填写http://localhost:1668/svn/test/,即可检出相关源码

4.       我们在上述示例中仅创建了一个名为testtrac实例和名为testsubversion版本库,参考示例可以在E:/PortableTrac/svn/创建更多版本库,可以在E:/PortableTrac/trac/创建更多trac实例。

How to Portable

经过上面操作我们已经有了一个完美运行的Trac系统,那么当重新安装了操作系统或者需要更换源码仓库服务器的时候,如何才能快速迁移呢?

1.       拷贝PortableTrac文件夹至新计算机上的E:/PortableTrac/

2.       执行E:/PortableTrac/etc/PortablePython.reg

3.       修改系统环境变量PATH,增加路径--E:/PortableTrac/PortablePython

4.       执行E:/PortableTrac/etc/PythonHome.reg

5.       启动后台服务apache2

常见问题

1.       服务Apache2无法启动

这个问题的最终原因多种多样,通常体现在配置文件错误上。可以执行下面命令进行检查

E:/PortableTrac/apache2/bin/Apache.exe –t

2.       apache2服务启动后,无法在浏览器打开项目列表

打开文件E:/PortableTrac/var/logs/error.log,可以查看相关错误信息。

3.       error.log文件中有错误提示:make_obcallback: could not import mod_python.apache.是何原因?

除了没有安装mod_python之外,还有可能是因为没有正确设置PYTHONHOME路径有关。尝试双击上面提到的PythonHome.reg导入环境变量并重新启动计算机。

4.       Subversion升级了如何更新?

下载最新的zip包,将bin目录中的文件拷贝至相关目录;下载最新的svn-python包对应的exe文件执行之。

5.       Trac升级了如何更新?

一般情况下,直接去Trac官方网站下载最新的安装包安装即可。有时候程序有较大修改,或者使用了其他第三方工具,那就去TracInstall看看,有什么需要安装的。

相关链接

Build Protable-Trachttp://senturedoc.com/newygl/blog/?p=66

APMXEhttp://www.dualface.com/blog/?page_id=402

Subversionhttp://subversion.tigris.org

TortoiseSVNhttp://tortoisesvn.net

Portable Pythonhttp://www.portablepython.com

Trachttp://trac.edgewall.org

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值