基于Trac的项目管理系统

Posted on 2007-04-04 14:55 小苏 阅读(2209) 评论(0)  编辑 收藏 引用

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

§    Trac 0.10Trac程序

§    Apache 2.0.59Web服务器

§    subversion 1.4.3,代码版本管理工具

§    Python 2.4.4Python解释器

§    mod_pythonPythonApache模块

§    ClearSilver 0.9.4Python的模版工具

§    mxDateTime 2.0.3Python必须库文件

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

1 安装Apachesubversion

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

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

然后将subversionApache集成在一起(也可参考这篇文章)。将 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

Create Repository

D:\> svnadmin create d:\repos

 Create skeleton repository structure in d:\temp\project

Example:

/project
  /vendor
    /tags
    /trunk
      files
  /projectname
    /branches
    /tags
    /trunk
      files

Build Repository Tree

D:\> svn import d:\temp\project file:///d:/repos -m "Initial Load"

Create local sandbox

D:\> svn checkout file:///d:/repos d:\project

 

然后修改 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

2 安装Pythonmod_pythonSVN binding

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

mod_python的下载页面 上下载mod_python 3.3.0bWin32(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

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

3  Install SQLite

      http://www.sqlite.org
       复制SQLite3.exed:\python\sqlite.exe

      Install PySQLite

     http://pysqlite.sourceforge.net

      自动安装PySQLite

安装ClearSilvermxDateTime

ClearSilver的下载页面选择0.9.4py2.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

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

 D:

 cd D:\projects

 D:\Python24\python.exe D:\Python24\Scripts\trac-admin hello initenv

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

 Project Name [My Project]> Hello World

 Database connection string [sqlite:db/trac.db]> sqlite:db/trac.db

 Repository type [svn]> svn

 Path to repository [/path/to/repos]> D:/repos/hello

 Templates directory [D:\Python24\share\trac\templates]>

如果创建失败,则需要删除 D:\projects\hello 之后再重试。

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

设置HTTP认证

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

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

 D:

 cd D:\projects

 D:\Apache\Apache2\bin \htpasswd  -cm  d:\ projects \.htaccess  admin

 Automatically using MD5 format.

 New password: *****

 Re-type new password: *****

 Adding password for user admin

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

 D:\Apache\Apache2\bin\htpasswd -m d:\ projects\.htaccess user

 

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

 <LocationMatch "/projects/[^/]+/login">

     AuthType Basic

     AuthName "Trac"

     AuthUserFile D:/projects/.htaccess

     Require valid-user

 </LocationMatch>

然后重新启动Apache

 


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理