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://localhost或http://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
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平台中的搭建成功的完成。
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号