前文说明了如何在Dreamhost安装Trac。安装完了怎么开始使用呢
因为Dreamhost是一个虚拟主机,因此我们不能使用tracd来启动,我们对外的唯一途径就是80端口的web server,也就是apache。而且我们不能自行安装apache的mod,于是也不能使用mod_python或者mod_wsgi的模式,也就是说只能用cgi或者fastcgi的模式,而本文只介绍fastcgi的做法
首先假设我们的站点的目录是~/mysite,而trac的目录在~/mytrac,而且我们已经初始化了一份trac
这里我把站点的目录和trac的目录分开,这样方便管理,而且站点其实需要很少文件的。我们只需要一个index.fcgi和一个.htaccess
这里是index.fcgi的内容
#!/bin/bash
export TRAC_ENV="${HOME}/mytrac"
export LD_LIBRARY_PATH=${HOME}/python/lib:${LD_LIBRARY_PATH}
export LD_RUN_PATH=${HOME}/python/lib:${LD_RUN_PATH}
export PATH=${HOME}/python/bin:$PATH
exec ${HOME}/python/bin/python ${HOME}/python/share/trac/cgi-bin/trac.fcgi
由于我们的python是安装在用户目录的,因此需要更多的预设环境变量
其实你也可以直接copy trac.fcgi过来在头部加上配置,但是我更喜欢自己些一个文件然后exec默认的fcgi文件
而且我exec的时候,可以直接指定使用的python的路径,而在trac.fcgi头部标注路径的做法似乎不太生效
接下来就是.htaccess文件
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.fcgi/$1 [L]
RewriteRule ^$ index.fcgi
AuthType Basic
AuthName "Trac"
AuthUserFile ${HOME}/mytrac/trac.htpasswd
Require valid-user
首先就是rewrite了,把所有的请求都rewrite给index.fcgi
然后就是认证。非常可惜,Dreamhost并不支持在.htaccess里面使用Location指令,因此我不得不把整个site都加入验证了,因此我的site变得完全private了,本来应该只是针对/login做验证。我尝试了很久都没有解决方案
so it’s done
在公司使用了一段时间的Trac,觉得很不错,于是想在Dreamhost上安装一个Trac,方便记录自己的一些想法,也可以用作跟朋友一起做一些小项目。本文就是介绍如何在Dreamhost上安装Trac
Dreamhost的wiki里面也有提及如何安装Trac,但是相应的版本比较旧了,而且感觉也不是很完整,在参考wiki来安装的时候也碰到不少问题。最后还是决定安装目前最新版的Trac 0.11。之前介绍的在公司安装的是0.10,一来在windows下0.10一来的包都有二进制版本,二来那个时候0.11还没有很成熟。现在Trac官方网站已经把0.11的安装说明作为默认的了,看来0.11很快就要发布了。另外也因为在linux下安装本身就没有现成的二进制包,而0.11依赖的包更少,更容易安装。
Dreamhost上的python版本是2.3.5,另外因为没有办法使用根用户,所以索性在自己的用户底下安装最新的python2.5.1,更加容易处理。
从python网站下载Python-2.5.1.tgz,然后参看Dreamhost的wiki安装
cd
mkdir python
tar -zxvf Python-2.5.1.tgz
cd Python-2.5.1
./configure --prefix ~/python/ --enable-shared
make
make install
install -c -m 644 ./libpython2.5.a ~/python/lib/
install -c -m 755 ./libpython2.5.so ~/python/lib/
install -c -m 755 ./libpython2.5.so.1.0 ~/python/lib/
我把它安装在我的用户目录的python/下,有几个lib在用户模式下安装并不会copy到正确的位置,因此需要自己处理一下
然后就可以通过
来测试是否正常工作
接着修改我们的.bashrc
export LD_LIBRARY_PATH=${HOME}/python/lib:${LD_LIBRARY_PATH}
export LD_RUN_PATH=${HOME}/python/lib:${LD_RUN_PATH}
export PATH=${HOME}/python/bin:$PATH
再测试一次正常工作
剩下来的工作,主要就是参看Trac官方提供的Install手册
先安装easy install
wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
接着用easy install安装Trac和依赖的包
easy_install Pygments
easy_install Genshi
easy_install Trac
运行
成功,现在Trac已经可以开始使用了
待续
在一个开发团队里面,bug tracker工具是很重要的。软件一定有bug,我们需要一个跟踪bug的工具,谁报告的bug?详细情况怎么样?别人能不能还原?
需要修正吗?优先度?已经修正了吗?等等。虽然我说了那么多需求,但实际上太全面的功能也会导致复杂性,呵呵。
最近需要在公司部署一个bug tracker,目前可以选择的工具也有不少
1、Bugzilla
功能非常强大,定制性也很强,Mylyn支持最好
可惜,安装困难,板式不直观
=====
正好提到Mylyn,其实我的选择,很大程度受到Mylyn的支持情况影响
2、JIRA
功能强大,定制性也非常强
可惜太复杂了
3、Mantis
我一直对这个软件印象非常好
清晰的版面,用上去就非常舒服
可惜新版本迟迟未release
另一个重要的原因是Mylyn对他支持非常差
4、Trac
Mylyn官方支持三个软件,Bugzilla,JIRA,Trac
因此我也在这三个软件中挑选了很久
Trac的安装比较麻烦(当然后来知道并不麻烦)
功能也中规中矩,有最基本的功能(其实我也不想让软件做太多功能,始终团队的能力为主)
定制能力很差(其实我不需要定制)
同时还包含一个wiki(正好还在讨论公司内部要不要弄一个wiki)
对mysql支持不太好(其实sqlite的效果也很不错,备份也方便)
认证模式刚好可以跟svn一样(太棒了)
真是越用越喜欢,呵呵
trac是一个很不错的wiki+bug tracker软件
公司急需一个bug tracker软件来管理bug和一些小任务
经过评估之后,终于决定使用trac(有空我再写一篇比较和评估的依据)
trac的安装有点麻烦,因为他用了不少外部库,有些还是c写的。这个也是影响我评估的其中一个因素,差点就不打算使用它了
经过几天的研究,发现trac在windows下的安装异常简单,但是有好多需要注意的细节,于是变有了这篇文章
说实在话,现在我甚至觉得windows下的安装比linux还要简单,呵呵
Trac Guide里面的[Trac Installation Guide](http://trac.edgewall.org/wiki/TracInstall)仅仅是一个通用的描述,并不是具体的步骤,所以这个页面只能当成是参考的部分。不过,页面里面也穿插了很多细节,什么可以用什么不能用,所以最后还是得详细看一遍才清楚
真正正确和详细的步骤其实有一份[Trac on Windows](http://trac.edgewall.org/wiki/TracOnWindows)的文档,但是藏的比较隐蔽,具体的入口在Trac FAQ中
让我们来看看这份文档吧,基本上,跟随这份文档你就能在windows安装一个trac
首先是python的版本选择问题,虽然python2.5已经出了很久,但是,因为trac依赖了一个c写的模板引擎ClearSilver,并没有for python2.5 windows的编译好的包,因此,你必须自己编译ClearSilver,那是相当的麻烦。linux呢?linux反正是要编译的,所以就算用python2.4情况也是一样(所以linux的安装还是比较麻烦的)
除了ClearSilver以外,其他包也可能遇到类似的问题,因此,使用python2.4是最佳的选择
题外话,其实还有另外一个选择,就是使用trac 0.11dev。不知道具体的原因,trac已经决定使用Genshi来代替ClearSilver作为模板引擎,具体的文档是[Trac with Python 2.5](http://trac.edgewall.org/wiki/TracOnWindows/Python2.5),不过我觉得还是不要使用测试版比较好。另外说一下,Genshi也是trac出品的
接下来,文档提供了4种安装方法。我最后选择了第二种,也比较推荐这种,使用单独的Installer,Setuptools 的确是一个好工具,但是感觉不太好控制
下载并运行trac-0.10.4.win32.exe、clearsilver-0.9.14.win32-py2.4.exe,Installer会自动找到python的位置。trac使用sqlite来做后端存储,所以你还需要pysqlite-2.3.4.win32-py2.4.exe,如果你还想用trac的svn browser功能,你还需要svn-python-1.4.4.win32-py2.4.exe
关于数据库的选择,trac最初只支持sqlite,现在支持postgresql和mysql,但是官方不推荐使用mysql,说是因为字符集问题?(这个理由有点烂),但是官方不推荐是比较麻烦的,专门装个postgresql也不太现实。其实,sqlite的表现相当好,而且,备份起来相当方便,所以最后还是决定用sqlite
然后。。。没有了,呵,其实trac已经安装完成了
运行
\Python24\Scripts\trac-admin.py my-project initenv
\Python24\Scripts\tracd.py -p 8000 my-project
开始试用你的trac吧
总结一下:
1. 使用python2.4
2. 安装trac-0.10.4.win32.exe、clearsilver-0.9.14.win32-py2.4.exe、pysqlite-2.3.4.win32-py2.4.exe
3. 开始使用!
Recent Comments