您的位置:首页 > 其它

SVN+Trac(VisualSVN-Server-2.1.4+Trac-0.12.1.win32) 安装手记

2010-11-10 01:21 489 查看
SVN+Trac(VisualSVN-Server-2.1.4+Trac-0.12.1.win32) 安装手记

文/arkelee

VisualSVN官方有Trac插件,集成了python和trac0.11,但不提供技术支持。想要即装即用的请出门右转到官网下载:
http://www.visualsvn.com/server/trac/

我当时放弃,就是为了使用trac 0.12版,有两个原因,第一支持多仓库,第二中文支持完善。
Trac因为各个模块相互的版本依赖关系以及之间的升级同步问题,并没有一个最新的集成包可以即装即用。本来我可以将我设置好的做成包分享出来,但秉着授人以鱼不如授之于渔的精神,详细列出我的安装手记,其中的版本我都是从各官网下的最新版(除了Python),因此大家需要的时候可以自行下载各个组件按照步骤安装。

1. SVN服务器端
VisualSVN-Server-2.1.4.msi
集成了Subversion 1.6.13,Apache 2.2.13
2. SVN客户端
TortoiseSVN-1.6.11.20210-win32-svn-1.6.13.msi
中文语言包
LanguagePack_1.6.11.20210-win32-zh_CN.msi
3. Trac-0.12.1.win32.exe
http://trac.edgewall.org/
4. Trac依赖包
* 是Trac0.12版本依赖要求
是我使用的包
$ 是控制台命令
* Python, version >= 2.4 and < 3.0
python-2.6.6.msi
* setuptools, version >= 0.6
setuptools-0.6c11.win32-py2.6.exe
* Genshi, version >= 0.6
Genshi-0.6.win32.exe
* docutils, version >= 0.3.9 for WikiRestructuredText.
$ esay_install docutils
* Pygments for syntax highlighting.
$ easy_install Pygments-1.3.1-py2.6.egg
$ easy_install pytz-2010l-py2.6.egg

* Babel-0.9.5.win32.exe

5. 以上都按照Trac官方安装说明,按部就班即可,下面是将Subversion与Trac集成。

Trac官网介绍的都是以Apache做例子的,但是因为我之前已经安装的了VisualSVN,所以想使用VisualSVN+Trac。
VisualSVN官网给到包使用的是mod_python,这个包已经停止开发了,Trac官网建议使用mod_wsgi。
VisualSVN Server集成的是Apache+Subversion+WindowsMSC,但是没有提供Python绑定包。
http://alagazam.net/上有比较全的Subversion发布包,包括各种绑定,不过因为是VC++6编译器编的,跟VisualSVN不兼容,我们为了要使用它的Python绑定,连可执行文件都要一起替换。
http://alagazam.net下载两个包svn包和svn-py包:
svn-win32-1.6.13.zip
解压然后拷贝bin文件夹下所有dll文件到VisualSVN对应bin文件夹
$ copy /y /bin/*.dll /VisualSVN Server/bin/
svn-win32-1.6.13_py.zip
解压然后分别拷贝libsvn和svn文件夹下所有文件到Python安装路径的/Lib/site-packages/文件夹。
将_*.dll后缀名改为pyd
$ cd libsvn
$ copy * D:/Python26/Lib/site-packages
$ ren _*.dll _*.pyd
$ cd svn
$ copy * D:/Python26/Lib/site-packages

6. 至此安装完成,下面初始化Trac工作目录,如下
A new environment is created using trac-admin:
$ trac-admin /path/to/myproject initenv
$ trac-admin /path/to/myproject deploy /tmp/deploy

7. 修改trac.ini
for trac.ini
[trac]
repository_sync_per_request =

[repositories]
project.dir = /var/repos/project
project.description = This is the ''main'' project repository.
project.type = svn
project.url = http://example.com/svn/project
lib.dir = /var/repos/lib
lib.description = This is the secondary library code.
lib.type = svn
lib.url = http://example.com/svn/lib
.alias = project
.hidden = true

8. 下载并设置mod_wsgi
将最新版的mod_wsgi文件重命名为mod_wsgi.so,复制到/VisualSVN Server/bin文件夹下
mod_wsgi-win32-ap22py26-3.3.so => mod_wsgi.so [../VisualSVN Server/bin]

9. 编辑VisualSVN Server的conf(实际是集成的Apache)
打开 ../VisualSVN Server/conf/httpd-custom.conf
加入以下
LoadModule wsgi_module bin/mod_wsgi.so
LoadModule authz_user_module bin/mod_authz_user.so

WSGIScriptAlias /trac D:/Trac/cgi-bin/trac.wsgi
<Directory D:/Trac>
WSGIApplicationGroup %{GLOBAL}
# Order deny,allow
# Allow from all
</Directory>

<Location '/'>
AuthType Basic
AuthName "Trac"
AuthUserFile D:/Repositories/htpasswd
Require valid-user
</Location>

10. 设置trac与svn仓库的同步,这里设置成仓库的任意改变都将更新trac资料库
$trac-admin $ENV repository resync '*'

11. 别忘了添加系统变量和系统路径
PYTHONHOME=%ProgramFiles%/Python26

PATH=
%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;D:/Program Files/VisualSVN Server/bin;D:/Program Files/TortoiseSVN/bin;D:/Dev/Python26;D:/Dev/Python26/Scripts;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: