在Trac的官网上有有一篇安装指南,针对Trac0.11版本的。上面可以看到这时0.11的正式版还没有发布,我安装的是0.11b1版的。
http://trac.edgewall.org/wiki/TracInstall#TracInstallationGuidefor0.11 一、Trac简介
Trac是一个轻量级的项目管理工具,是一个基于web的应用程序。Trac是用Python语言开发的,需要数据库(
SQLite,
PostgreSQL,
MySQL 等).的支持才能运行。对于HTML渲染,在Trac 0.11版本之前用的是
ClearSilver,以后推荐用的是
Genshi
二、安装必备的软件
注意软件的版本及安装的顺序
1.安装
Python,下载:python-2.5msi,默认安装
2.安装
Genshi模板系统,属于页面表示层,下载Genshi-0.4.4.win32.exe,安装时会识别Python安装目录。
3.安装Subversion Python Bindings :svn-python-1.4.6.win32-py2.5.exe,安装时会识别Python安装目录。
4.安装
PySQLite, 下载pysqlite-2.4.0.win32-py2.5.exe, 安装时会识别Python安装目录。PySQLite是SQLite和Python 绑定的轻量级数据库引擎,它是Trac默认的数据库。
三、安装Trac(0.11dev)
由于我用的都是最新版本的软件,安装Trac时浪费了很多时间,后来还是看官网上的文章才搞定。
1.最好添加python的环境变量(C:\Python25)到path中
2.确保先安装
setuptools ,安装步骤如下:在主页中将
ez_setup.py文件下载保存下来(如放在c:\src下面),命令行进入该目录执行python ez_setup.py即可安装和python版本对应的setuptools。
3.check出Trac版本库,再安装,完整的执行语句如下:
> cd C:\src > python ez_setup.py > svn checkout http://svn.edgewall.org/repos/trac/trunk > cd trunk > python setup.py ins |
四、配置Trac环境
完成上述的安装后,就可以创建一个
TracEnvironment,它是Trac存储信息的地方,如 wiki pages, tickets, reports, settings, 等。
1. 通过
trac-admin创建一个Trac Environment
我的做法是先在d盘新建一个trac目录,然后执行:> trac-admin d:/trac/mytest initenv
然后根据提示输入项目的名字(myproject),数据库连接字符串(默认),你的源代码资源库路径。
2.在8080端口上单项目运行
> cd C:\Python25\Scripts > tracd -p 8080 d:/trac/mytest |
当看到 Serving on 0.0.0.0:8080 view at http://127.0.0.1:8080/ 时,就表示服务器启动成功了,可以打开浏览器,
看到如下效果图:
五、Apache+SVN与Trac集成
上面的配置是运行在一个独立的服务器上,只能运行一个项目,一般只用于自己单机访问。考虑到我们前面安装的SVN是运
行在Apache服务器上,我们最好也让Trac运行在Apache服务器上,便于网上共享;而且和Apache集成有很多优点,比如充分利用
apache的强大功能以及ModPython的高效率,便于管理与控制,很方便支持ssl等等。在官方网站上提供的安装指南上面提供了三
种方法CGI, FastCGI and mod_python.为了提高性能,推荐使用后面两种,我安装时采用第三种。
1、在http://www.modpython.org/ 页面下载相应的安装程序,注意版本对应。我下载的是
mod_python-3.3.1.win32-py2.5-Apache2.2.exe,然后安装,安装过程中会要求选择apache的安装目录,并且自动把
mod_python.so复制到modules目录 。完成后还要进行配置,类似于SVN和apache的集成,我主要参考的是官方文档。
2、配置
- 配置ModPython
在apache的httpd.conf中加入下面一行:
LoadModule python_module modules/mod_python.so
- 配置trac
在apache的httpd.conf中加入下面内容:
#setup trac on mod_python
<location>/trac/mytest>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv d:/trac/mytest #根据个人安装情况修改
PythonOption TracUriRoot /trac/mytest
</location>
- 然后就通过http://localhost/trac/myjava来访问,点击“浏览源代码”就可以看到svn库中项目资源。
3、配置用户身份的验证
Trac可以使用Apache的身份验证。
- 创建密码文件,如为myjava创建密码文件,javatrac为用户名:
转到%Apache%\bin>htpasswd -c d:/trac/mytest/conf/trac.passwd javatrac
New password: ****
Re-type new password: ****
Adding password for user zhengjian
若对密码不想加密可使用-cp参数,win平台下默认是MD5加密。
- 配置身份验证 #设置myjava的Trac用户验证
<location>/trac/mytest/login>
AuthType Basic
AuthName myjavatrac
AuthUserFile d:/trac/mytest/conf/trac.passwd
Require valid-user
</location>
完成后重启Apache服务器,然后浏览
http://localhost:8080/trac/mytest ,点击Login,将看到如下效果图:
4、Trac的授权设置
在Trac 0.11以前的版本需要安装WebAdmin插件才能以web的方式管理用户及授权,以后的版本就不在需要了,已经集成了。前面创建的Apache的身份验证,都不具有TRAC_ADMIN权限,下面我们
新创建一个admin用户,然后授予TRAC_ADMIN权限:
#创建一个admin用户 命令行转到%Apache%\bin>htpasswd -c d:/trac/mytest/conf/trac.passwd admin New password: ***** Re-type new password: ***** Adding password for user admin #为admin用户授权TRAC_ADMIN >cd c:/python25/Scripts >trac-admin d:/trac/mytest permission add admin TRAC_ADMIN #该命令执行时有异常,但不影响授权,我也不知道是哪里的问题 |
完成后再以admin帐号Login,在search的后面就会看到Admin,点击进入可以看到如下效果图:
至此,Apache+SVN+Trac的集成到此完毕了,由于我用都是目前最近的版本,花费了我将近3天的时间,虽然界面都还是英文的,不过总算运行起来了,下面要做的就是仔细看看如何更好的利用了。我是第
一次用这个管理跟踪项目,欢迎大家相互探讨。
参考:
http://trac.edgewall.org/wiki/TracInstall#Short-Installareleasedversion
http://blog.chinaunix.net/u/30647/showart_240570.html
http://www.hamo.cn/archives/397.html
http://www.yi-dao.com/wiki/ow.asp?Trac