首页 > 技术 > windows和linux下安装redmine

windows和linux下安装redmine

前日觐见老板,拿到一个任务:给学院的实训系统搞一个像模像样的demo。功能有项目生命周期管理(要求有需求、设计、实现和测试阶段),角色权限控制(老师和学生),wiki,issue tracking,计划,时间记录等等不一而足。因为时间比较紧,月底就要拿出来,老板也建议我在一个现有的开源项目管理工具的基础上进行修改。

回头立马在网上找资料。google上搜,很多都是广告和软文,不靠谱。维基上的这个页面倒是很不错。以前老板要我就apis调查工具的时候就看过。最后就功能和开发两个方面遴选,有四个候选者:

project.net:老牌强队,有丰厚的历史底蕴,获得多种省优部优荣誉。页面上的六大功能都占全了,Java开发,正好我最熟悉。嗯,一号种子。

trac:功能简单易用,虽然不多但基本足够。没有历史包袱,以前曾经多次部署,也有改造的经验,Python开发。二号种子。

redmine:开起来挺不错的工具,功能比较贴心。有一些自定义的功能,很有潜力。RoR开发,显然是新同学。三号种子。

apis改造:持外卡参赛,最熟悉,功能也还行,唯独缺少wiki。非种子选手。

首先淘汰掉的是apis。在项目管理工具中,wiki的功能还是很重要的,可偏偏wiki的实现比较麻烦,虽然有现有的wiki引擎,可是想到要驱动hibernate,改造数据库的事情就头大。界面其实也不是很好看,呵呵。

第二个毙掉了trac。无奈功能不够丰富,界面也不够好看。

剩下project.net和redmine PK。虽然project.net使用Java开发我最熟悉,但正因为我最熟悉,所以知道Java做的网站修改起来不是一般的费事,相对于php,python,ruby这些脚本语言自然不用说,连和ASP.NET相比,也占不到什么便宜。要找到一个功能的逻辑所在基本上都要花掉好几分钟在配置文件、页面文件和Java代码里刨。在看project.net的介绍时发现其致命伤:数据库仅支持Oracle。直接退出了PK。

先上几张redmine的截图:

问题列表,加了subtask插件

编辑问题:

论坛系统 .png

日历功能:

test.png

代码评审插件

论坛系统 - - xforum4j-xforum4j.ipr - Diff - 实训系统.png

下面简单介绍下Windows下redmine的安装步骤(一台服务器,一台本机开发)。另外我安装的时候是按照这篇文章的指导,译言上的,居然原文还是日文。

首先安装ruby/gem/rails。Windows下首选InstantRails,无需配置直接上手,缺点就是一些gem的版本比较低,比如rails似乎只有2.1.1,而代码库中的redmine(0.9.x)要求2.2.2以上的rails。不过最新稳定版的redmine-0.8.4可以直接用。

把下载的redmine解压到InstantRails的rails_apps目录。在config目录下新建一个database.yml文件,内容如下:

1
2
3
4
5
6
7
production:
   adapter: mysql
   database: redmine
   host: localhost
   username: redmine
   password: redmine
   encoding: utf8

如果是0.9.x的版本,需要在config/environment.rb里添加ession_key_secret:

1
config.action_controller.session = { :session_key => "_myapp_session", :secret => "some secret phrase of at least 30 characters" }

接下来添加MySQL的数据库的内容。InstantRails可以从I -> Configure -> Database (via phpMyAdmin)。打开SQL窗口,输入如下语句:

1
2
create database redmine character set utf8;
grant all privileges on redmine.* to redmine@localhost identified by 'redmine';

建立数据库之后是导入初始数据,使用I -> Rails Applications -> Open Ruby Console打开设置了环境变量的命令行窗口:

>cd redmine
>rake db:migrate RAILS_ENV="production"
>rake load_default_data RAILS_ENV="production"

第二个rake任务会要求选择一个默认语言。之后就可以启动Rails了。InstantRails默认启动Mongrel服务器。

>ruby script\server -e production

这时候就可以使用浏览器访问http://localhost:3000/,默认帐号建有admin:admin

另外,Windows下除了使用命令行启动Rails服务之外,还可以参考robbin的这篇文章使用Apache+mod_proxy+Mongrel部署Rails服务。

===================Linux和Windows的分割线====================================

Linux下,对于ruby/gem/rails,编译安装/apt-get/yum自便,国内用户看哪个速度快就用哪个。由于Linux主要作为服务器使用,不太可能采用Windows下命令行启动服务器的方式来跑服务,因此需要把ruby服务挂到某个Web服务器上,比如Apache和Lighttpd。下面仅介绍使用mod_rails(Phusion Passenger)来使用Apache跑Rails的配置。

mod_rails的安装文档在这里,并不复杂。只需要:

gem install passenger
passenger-install-apache2-module

后一步会告诉你把Apache的几行配置代码给拷贝到Apache的配置文件里,形如:

LoadModule passenger_module ...
PassengerRoot ...
PassengerRuby ...

Apache的配置文档在这里,部署RoR程序的部分在这里。部署是通过虚拟主机的方式来弄。具体就不多说了,用Linux部署的同学看看文档就会了。

评论:看到这篇文章末尾的提及的感想,不得不说说redmine强大的插件系统。感想里说到的事件跟踪管理和图表的不足,都有插件来解决这个问题,这些插件也有可能在以后被纳入主程序的功能中。而code_review这个插件非常适合实训系统中教师浏览学生的作业代码的工作。从这几天对RoR的接触来看,不得不承认Ruby开发Web系统的确是如鱼得水,相同水平的Ruby和Java程序员之间的生产率差几倍并不奇怪。以插件经常要用到的AOP而言,Rails的alias_method_chain的扩展使用起来非常优雅;使用Ruby的mixin特性来扩展原来的功能也是恰到好处。

p.s. 今天忽然想到,以后找工作会不会直接整个python或者ruby的活?虽然现在这两门语言的经验还很不足,但兴趣浓厚。

分类: 技术 标签: ,
  1. 2009年6月25日18:21 | #1

    wokao,太巧了,我也正在甄别wiki,pm,issue tracking系统……
    更巧的是……
    我也选择了redmine……

    [回复]

  2. forture
    2010年1月7日16:52 | #2

    请问您是怎么安装subtask插件的啊?我自己安装时总是出错,能否指教一下啊?先谢啦

    [回复]

  3. 2010年1月7日17:13 | #3

    @forture, 我记得当时的确碰到一个错误,但不太记得具体是什么错误并如何解决的。可以在subtask的主页或者issue里看看有没有相应的内容

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word