基于Trac的项目管理系统构建(Windows篇)

上一篇 / 下一篇  2008-09-12 15:24:47 / 个人分类:Trac

关于Trac的介绍请参见前一篇文章

这里我们要构建一个基于Trac的项目管理系统。代码管理使用subversion,项目管理使用Trac。所需要的软件包如下:

很遗憾subversion现在仍然不支持最新的Apache 2.2系列,因此我们只能使用Apache 2.0系列。 而pyPgSQL 2.5.1版和ClearSilver 0.9.4不支持Python 2.5,因此只能用 Python 2.4。

另外,虽然Trac支持SQLite,但SQLite支持的SQL语法有限,实际应用中会有诸多不便, 因此我们选择了PostgreSQL作为后台数据库。

安装错误时怎么办?

如果你安装过程中发现某些地方不正常,记住按照下面的方法来纠正:

  1. 查看错误信息,看是否能找到提示
  2. 检查有无忘了装的软件
  3. 检查httpd.conf是否有误
  4. 修改之后记得重新启动Apache

安装Apache和subversion

Apache官方网站上下载2.0.59版的msi安装包,执行即可。 为方便起见,建议将Apache安装到根目录下,例如 D:\Apache。 安装时的一些细节可以参考这篇文章。 安装完毕后用浏览器访问http://localhost/,如能看到Apache的起始页面即安装成功。

subversion上下载zip包解压缩即可, 目前最新版本为svn-win32-1.4.3.zip。假设解压到 D:\svn下。

然后将subversion与Apache集成在一起(也可参考这篇文章)。 将 D:\svn\bin 下的以下文件复制到 D:\Apache\Apache2\modules 目录下:

  • mod_authz_svn.so
  • mod_dav_svn.so

将 D:\svn\bin 下的以下文件复制到 D:\Apache\Apache2\bin 目录下:

  • libdb44.dll
  • intl3_svn.dll

然后建立代码仓库目录 D:\repos。

然后修改 D:\Apache\Apache2\conf\httpd.conf,查找下面这一行,去掉前面的 # 号。

LoadModule dav_module modules/mod_dav.so

然后在其附近添加以下这一行:

LoadModule dav_svn_module modules/mod_dav_svn.so

之后在 httpd.conf 的末尾添加以下内容:

<Location /repos>
DAV svn
SVNParentPath D:/repos
</Location>

然后重新启动Apache。之后试着访问一个不存在的页面,如http://localhost/abc, 你会看到Not Found页面下方的内容如下:

Apache/2.0.59 (Win32) SVN/1.4.3 DAV/2 Server at localhost Port 80

如果这里显示了 SVN/1.4.3 则说明安装成功。

安装Python、mod_python和SVN binding

Python官方网站下载Python 2.4的msi安装包进行安装, 假设安装到D:\Python24目录下。

mod_python的下载页面上下载mod_python 3.3.0b的Win32版(mod_python-3.3.0b.win32-py2.4-Apache2.0.exe)。 安装时它会问你Apache的安装位置,输入 D:\Apache\Apache2 即可。

最后打开 D:\Apache\Apache2\conf\httpd.conf,查找 LoadModule,加入下面这一行:

LoadModule python_module modules/mod_python.so

然后重新启动Apache。之后试着访问一个不存在的页面,如http://localhost/abc, 你会看到Not Found页面下方的内容如下:

Apache/2.0.59 (Win32) SVN/1.4.3 mod_python/3.3.0b Python/2.4.4 DAV/2 Server at localhost Port 80

如果这里显示了 mod_python/3.3.0b Python/2.4.4 则说明安装成功。

最后要安装subversion binding使Python支持subversion。 到刚才下载subversion的地方下载 svn-win32-1.4.3_py2.4.exe 文件并安装。

安装PostgreSQL和pyPgSQL

PostgreSQL官方主页下载最新版8.2.3(postgresql-8.2.3-1.zip)并安装。

为了让Python支持PostgreSQL,我们还需要安装pyPgSQL模块。 到pyPgSQL主页下载2.5.1版并安装。

安装结束之后,需要将 bin 目录下的以下文件复制到 D:\Python24\Lib\site-packages\pyPgSQL\libpq 下。

  • libpq.dll
  • comerr32.dll
  • libeay32.dll
  • libintl-2.dll
  • libiconv-2.dll
  • krb5_32.dll
  • ssleay32.dll

安装ClearSilver和mxDateTime

ClearSilver的下载页面选择0.9.4的py2.4版下载 (win32/clearsilver-0.9.14.win32-py2.4.exe)并安装。

Trac官方文档中虽然没有说明mxDateTime, 但是建立项目时Trac会报错,要求你安装mxDateTime库。 从mxDateTime主页下载并安装。

安装Trac

最后终于轮到主角Trac出场了。在Trac下载页面上下载 Trac安装程序(trac-0.10.3.win32.exe)并安装。

然后建立项目目录 D:\projects。

然后打开 D:\Apache\Apache2\conf\httpd.conf,在最末尾添加以下内容:

<Location /projects>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir D:/projects
PythonOption TracUriRoot /projects
</Location>

然后重新启动Apache,访问http://localhost/projects/,你会看到Available Projects字样, 则说明安装成功。至此安装全部完毕。

建立项目

下面我们要建立一个实际开发中使用的项目。我们为这个项目命名为 hello。

首先要建立一个代码仓库。打开命令行,输入以下命令:

D:
cd D:\repos
md hello
cd hello
D:\svn\bin\svnadmin create .

然后打开浏览器,访问http://localhost/repos/hello/。如果你上面的设置都正确, 你将会看到下面的内容:

Revision 0: /
----------------------------------------------
Powered by Subversion version 1.4.3 (r23084).

即说明代码仓库建立成功,而http://localhost/repos/hello/就是代码仓库的 URL。

然后建立数据库。从开始菜单中启动PostgreSQL的 pg Admin III工具,新建一个数据库 hello, 注意将字符编码设置为UTF8。

然后建立Trac项目。打开命令行,输入以下命令:

D:
cd D:\projects
D:\Python24\python.exe D:\Python24\scrīpts\trac-admin hello initenv

trac-admin 为Trac的管理工具,hello为项目名,initenv命令指示Trac新建一个项目。 然后按照下面的内容输入:

Project Name [My Project]> Hello World
Database connection string [sqlite:db/trac.db]> postgres://<username>:<password>@localhost/hello
Repository type [svn]> svn
Path to repository [/path/to/repos]> D:/repos/hello
Templates directory [D:\Python24\share\trac\templates]>

数据库连接那一行,<username>和<password>分别为安装PostgreSQL时设置的用户名和密码。 如果创建失败,则需要删除 D:\projects\hello 之后再重试。

最后打开浏览器,访问http://localhost/projects/hello即可看到Trac的界面了。

设置HTTP认证

在Trac界面右上方有个Login菜单,通过这个菜单登录之后, 创建bug或者做其他修改时就不用每次都输入用户名。 不过这个菜单需要单独配置才能正常工作

首先我们要生成密码文件。打开命令行,输入以下命令:

D:
cd D:\projects
D:\Apache\Apache2\bin\htpasswd -c .htpasswd admin
Automatically using MD5 format.
New password: *****
Re-type new password: *****
Adding password for user admin

即可生成密码文件 .htpasswd。以后向该密码文件里追加用户只需这样即可。

D:\Apache\Apache2\bin\htpasswd .htpasswd user

然后编辑 httpd.conf,在最末尾加入以下内容:

<LocationMatch "/projects/[^/]+/login">
AuthType Basic
AuthName "Trac"
AuthUserFile D:/projects/trac.htpasswd
Require valid-user
</LocationMatch>

然后重新启动Apache。


相关阅读:

TAG: Trac

 

评分:0

我来说两句

日历

« 2024-05-04  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 31403
  • 日志数: 32
  • 建立时间: 2008-05-16
  • 更新时间: 2009-03-18

RSS订阅

Open Toolbar