Windows2003环境下安装Trac,整合Trac与VisualSVN

 

搭建该项目管理平台使用的软件如下:
1、python-2.7.4.msi       
2、setuptools-0.6c11.win32-py2.7.exe
3、Genshi-0.7.win32-py2.7.exe
4、Babel-0.9.6.win32.exe  (trac 语言支持包)
5、Setup-Subversion-1.7.9.msi
6、httpd-2.2.22-win32-x86-openssl-0.9.8t.msi (Apache Http Server)
7、trac-1.0.1.win32.exe
8、mod_wsgi-win32-ap22py27-3.3.so  (wsgi方式启动trac)
9、svn-win32-1.7.9_py27.zip
10、accountmanagerplugin_0.11-r13017.zip  (账户管理)

 

trac由python写成并使用了数据库,据官方文档的描述可选择:SQLite、PostgreSQL或MySQL。trac默认使用SQLite,在python2.5之后应该包含了该数据库,因此我并没有选择其他数据库。trac在0.12之后已经支持国际化,需安装Babel来获得支持。若在Babel之间就安装trac,则需在安装Bable之后重装trac。以上的都是在windows环境中搭建的,本人是在windows 7上搭建的Trac,在这里是选择最新的Trac版本,当前的版本是Trac-1.0.1,都是已经成功安装搭建完成。


安装程序
1、安装python-2.7.4

安装路径自行选择,推荐安装在系统文件根目录
注意:将C:\Python27添加到Windows的系统环境变量path中
可选:将C:\Python27\Scripts添加到Windows的系统环境变量path中


2、安装setuptools-0.6c11.win32-py2.7

这个主要是一个脚本工具、下载对应python版本相关的软件

3、安装Genshi-0.7.win32-py2.7

Windows下只需点击可执行安装包
可选:easy_install Genshi进行安装

4、安装Babel-0.9.6.win32 (语言支持包)

Windows下只需点击可执行安装包
可选:easy_install Babel进行安装

5、安装svn-win32-1.7.9_py27

Windows下解压安装包中的内容,放到python指定的目录中,如:C:\Python27\Lib\site-packages

应该是把解压后的svn和libsvn放到C:\Python27\Lib下,并注意复制*.dll,并重命名为*.pyd

参考链接:http://trac.edgewall.org/wiki/TracSubversion#Troubleshooting

6、安装Trac-1.0.1.win32

Windows下只需点击可执行安装包
可选:easy_install Trac进行安装

到此,整个与python相关的安装完成,
接下来就是安装,subversion、apache2.2

7、安装Subversion,即安装Setup-Subversion-1.7.9

安装路径自行选择,具体怎么安装就不介绍,直接一步步下来安装就行了。

对于已经安装好的VisualSVN则可以不安装,具体整合步骤见下文。


9、安装Apche,即安装httpd-2.2.22-win32-x86-openssl-0.9.8t.msi

安装路径自行选择,推荐(采用安装程序中默认的安装路径)
注意:三个地方要填写,根据安装程序中界面中的样例进行填写即可
默认端口是 80 ,如果安装过程中80端口已经被其它程序使用的话,请另行更改其它端口,如8080


10、安装mod_wsgi

复制mod_wsgi-win32-ap22py27-3.3.so到:Apache2.2\modules目录下
并重命名为:mod_wsgi.so

 

下面是进行配置并使用:
1、开启Apache

若不能开启,尝试在命令窗口开启Apache的服务,运行:Apache2.2\bin\httpd.exe -k install
Apache的启动方式很多,具体不做详细介绍,推荐使用 Apache的界面启动方式

测试:
在浏览器的地址栏中输入:http://localhosthttp://127.0.0.1,确定Apache在正常运行


2、创建svn仓库,并进行测试

在命令窗口运行:
> mkdir f:\svnroot
> svnadmin create f:\svnroot\project
注意:需添加2层目录,如果仅是创建在f:\svnroot一层目录下,Apache不能进行访问svn。

修改Apache的httpd.conf文件,具体如下:
在LoadModule处找到以下两个模块,并开启以下两个模块,注意:#开头的字符是配置文件中起注释的作用
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

加载Subversion,bin目录中的两个模块文件,注意:路径中最好采用反斜杠/,如果路径中包含空格,一定要采用双引号“”
LoadModule dav_svn_module "D:/Program Files (x86)/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "D:/Program Files (x86)/Subversion/bin/mod_authz_svn.so"

添加工作目录SVN访问:
<Location "/svn/">
  DAV svn
  SVNListParentPath on
  SVNParentPath f:\svnroot
  AuthName "Subversion repository"
  AuthType Basic
  AuthUserFile F:\svnroot\svnpasswd
  AuthzSVNAccessFile F:\svnroot\svnaccessfile
  Require valid-user
</Location>

注意:这里的是可以访问多个SVN版本项目控制

svnpasswd 创建:

在命令窗口中进入到Apache2.2的bin目录中,执行htpasswd命令
用htpasswd工具创建svnpasswd文件,建立保存用户名和密码的文件

>htpasswd -c -m  F:\svnroot\svnpasswd  username1

-c 表示创建文件,-m表示对密码用md5加密
然后,会提示输入两次密码,以后再加用户就不需要用-c了,直接用-m即可

svnaccessfile 创建:

下面建立控制用户访问权限的文件svnaccessfile
在F:\svnroot中新建一个记事本文件,输入下面的内容:

#组配置  组 = 用户名
[groups]        
admin_groups = admin

# 为所有库指定默认访问规则
# 所有人可以读
[/]
* = r

# 为版本库制定权限
[project1:/]
@admin_groups = rw
* = r

[project2:/]
@admin_groups = rw
* = r

project1、2 表示项目的版本控制名称
* 表示所以用户 
r 表示读权限
w 表示写权限
@ 表示组用户

重启apache,并测试访问:
http://127.0.0.1/svn/

http://localhost/svn/
访问路径请根据httpd.conf中添加的工作目录和相对svn项目文件夹进行修改。


3、创建Trac项目,并进行测试
在命令窗口中进入到C:\Python27\Scripts路径下
在命令窗口运行如下命令:
> mkdir f:\trac-1.0.1
> trac-admin f:\trac-1.0.1\trac_space initenv
> tracd --port 8080 f:\trac-1.0.1\trac_space   或是  > tracd -s --port 8080 f:\trac-1.0.1\trac_space
> trac-admin f:\trac-1.0.1\trac_space deploy f:\trac-1.0.1\trac_space\deploy

可参考:http://trac.edgewall.org/wiki/TracEnvironment
或:http://trac.edgewall.org/wiki/TracAdmin#initenv

测试访问:
http://localhost:8080


4、集成trac与apache并测试

选择mod_wsgi的原因不多说,强调一下:官网已经给出了几个方案,mod_python的方案在python2.5之后就没有更新的啦,
所以python2.7的版本中使用不了mod_python,在这里就采用wsgi的方式

集成Trac与Apache其实就是启用mod_wsgi.so模块并配置Trac的工作目录。
在Apache的httpd.conf文件中加入模块:
LoadModule wsgi_module modules/mod_wsgi.so

并添加以下内容:

WSGIScriptAlias / F:\trac-1.0.1\trac_space\deploy\cgi-bin\trac.wsgi  
<Directory "F:\trac-1.0.1\trac_space\deploy\cgi-bin"> 
    WSGIApplicationGroup %{GLOBAL} 
    Order deny,allow 
    Allow from all 
</Directory> 
  
<LocationMatch "/login"> 
  AuthType Basic 
  AuthName "Trac" 
  AuthUserFile "F:\trac-1.0.1\trac_space\passwd.txt" 
  Require valid-user 
</LocationMatch>

另外,我们还启用了passwd.txt用户认证文件,创建该文件的方式如下,使用Apache中htpasswd.exe进行构建:
在命令窗口中输入如下:
> htpasswd  -c -m F:\trac-1.0.1\trac_space\passwd.txt admin 


使用命令trac-admin给trac添加管理员
> trac-admin F:\trac-1.0.1\trac_space permission add admin TRAC_ADMIN

在以上的配置中,我们启用了trac.wsgi文件,该文件使用如下命令进行创建:
> trac-admin F:\trac-1.0.1\trac_space deploy F:\trac-1.0.1\trac_space\deploy


一切OK,现在重启apache,访问测试
http://localhost
如有必要,根据自己的端口或者trac的配置,修改访问地址即可。
Apache的端口号修改: 在httpd.conf文件中,如:  Listen 80 
如:http://localhost:8080

 

Trac的配置,配置文件trac.ini
logo 设置:
[header_logo]
alt = (please configure the [header_logo] section in trac.ini)
height = -1
link = 
src = site/logo.png
width = -1

logo.png存放位置F:\trac-1.0.1\trac_space\htdocs

其它配置自己看情况进行配置,或者在平台网站上超级用户权限进入在进行具体的配置。

 

Trac的插件安装

解压accountmanagerplugin_0.11-r13017.zip
编译该插件
命令中输入:
>python ./setup.py build
>>python ./setup.py install

插件安装如下:
进入项目管理Trac平台中,使用超级用户权限登录
在左边的插件安装列表栏中,安装该插件,找到该插件文件,点击安装
该插件编译后的名称是:TracAccountManager-0.4.3-py2.7.egg

安装了该插件,并对该账号管理插件功能启用,点击应用
这样则,可以在trac的平台中注册用户,并管理用户。


Trac中项目源码浏览和版本控制设置

超级用户登录进行trac的设置
在插件栏,点击trac 1.0.1显示启用功能列表
先启用勾选其中的版本控制功能,点击应用;
然后在《版本控制》中的《版本库》中添加管理的版本库

注意:如果看不到(源码浏览)请根据版本库添加时的提示进行svn版本库同步
之前默认是看不到的,必须是添加管理版本库和同步版本库才可以看到(源码浏览)
和最新的svn中源码

版本库同步命令:
>trac-admin.exe F:\trac-1.0.1\trac_space repository resync "project"

project 是添加版本库名称

***********************************************************************

若版本库同步失败,报错Unsupported version control system

参考地址:http://trac.edgewall.org/wiki/TracSubversion#Troubleshooting

若报错ImportError: DLL load failed,很可能是某些引用的dll无法找到。

解决办法:在visualSVN的安装目录下,执行svnadmin --version得到visualSVN所使用的svn服务器版本

根据此版本号搜索它对应的python binding,再根据上面给出的网址,下载depends工具,查找所缺失的dll文件

发现visualSVN中的dll不全,于是下载同样版本的win32 svn server,解压缩后,把它的bin目录纳入到环境变量path中,就可以了。

***********************************************************************

其它命令请看:
>trac-admin.exe F:\trac-1.0.1\trac_space help

至此,trac + apache + subversion 项目管理平台的windows平台中的搭建成功的完成。

posted @ 2013-09-25 12:34  xxxyyylll  阅读(313)  评论(0)    收藏  举报