如何在局域网安装Redmine(原创)
作者:周敏龙
本文所用的软件有:
● Redmine 0.8.2: http://rubyforge.org/projects/redmine/
● InstantRails-2.0-win: http://rubyforge.org/projects/instantrails/
本文介绍了如何在局域网的服务器上安装Redmine,文中一部分是是网上下载的,一部分是自己的原创。由于本人要在公司的内部服务器上安装一个Redmine,然而在网上找到的介绍Redmine的安装的文章都大同小异,实践过程中遇到了不少问题。经过几天的奋战,终于把Redmine完全安装好了,现在把我自己的心得总结一下,以便大家在遇到同样的问题时少走一些弯路。
首先总结一下本文解决了哪些别人没有解决的问题:(1)将Redmine集成到了已有的PHPNow系统中;(2)总结了安装InstantRails后应该修改哪些配置文件;(3)在非上网机上将RedMine安装为Windows服务,使其能开机自动运行。
1 Redmine介绍
是一个基于web的项目管理软件,用Ruby开发的。(可以想象成用php写的n个文件,可以在网页上浏览,就像wordpress。)
Redmine:这是基于ROR(Ruby on Rails)框架开发的一套跨平台项目管理系统,是项目管理系统的后起之秀,据说是源于Basecamp的ror版而来,支持多种数据库,除了和DotProject的功能大致相当外,还有不少自己独特的功能,例如提供wiki、新闻台、时间跟踪、feed聚合、导出pdf等待,还可以集成其他版本管理系统和BUG跟踪系统,例如SVN、CVS、TD等等。配置功能强大而且方便,自定义属性和更新通知也很实用,详细的介绍可以看看清华同方的redmine站点。中文版Redmine在线演示:ezWORK、英文版可看Redmine提供的官方演示。
协作对于一个团队来说至关重要,尤其是产品开发的团队,项目化的管理方式已经深入人心,MS Project 所有做过项目管理的人都应该了解,但是每天面对一张静态的甘特图来分配资源、调整进度的做法已经不合时宜了,在 Web 服务盛行的时代,以沟通为核心概念的小型团队项目管理服务 Basecamp 取得了成功,同时还捧红了 Ruby on Rails 框架。
沟通与共享是现代项目管理的核心,这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线索(Timeline)和各种动态的报表(Report)形式来自动给成员汇报项目进度。
在技术开发领域,Bug 追踪、Wiki 和 版本控制的集成对于项目管理系统来说必不可少,当然能够实现这些功能的系统也有很多,例如:
● Trac:基于 Python 的开源程序,应该是最早将 Ticket 与项目结合起来的开发管理系统,支持 Wiki、Timeline、Report 和项目模块分级与里程碑定义,还能够绑定查看SVN内容,简单易用,但是团队开发速度太慢,很多功能确实,无法进行权限分配、多项目管理,配置不够灵活,实在有些遗憾
● Jira + Confluence:基于 Java 的 Bug 追踪和企业 Wiki 系统,需要购买,而且很贵,Jira 的 Bug 和事务流管理能力很强大,Confluence 应该是目前最好的企业 Wiki 系统,扩展性强,但是某些操作和体验显得有些跟不上时代
● ActiveCollab:基于 PHP 的 Web 项目管理程序,曾经是开源版本的,后来给商业化了,需要购买,Trac 与 Basecamp 的模仿者,安装和使用简单
还有许多 SaaS 方式的在线项目管理服务,例如:Comindwork、LiquidPlanner 、MyQuire、ProjectSpaces、Huddle、PlanHQ、Goplan 等,不过介于中国的出口带宽情况和用户心态问题,将重要的项目数据放在遥远的第三方目前来说还是有些不现实的…
啰嗦了很多,下面介绍主角 Redmine,一个 Trac + Basecamp 的混合体,吸取了两个系统的有点,基于 Ruby on Rails 框架开发,开放源代码,可以跨平台部署,indigo 觉得它应该是小型开发团队项目管理的首选系统。
功能:
● 多项目和子项目支持
● 可配置的用户角色控制
● 可配置的问题追踪系统
● 自动日历和甘特图绘制
● 支持 Blog 形式的新闻发布、Wiki 形式的文档撰写和文件管理
● RSS 输出和邮件通知
● 每个项目可以配置独立的 Wiki 和论坛模块
● 简单的任务时间跟踪机制
● 用户、项目、问题支持自定义属性
● 支持多种版本控制系统的绑定(SVN、CVS、Git、Mercurial 和 Darcs)
● 支持多 LDAP 用户认证
● 支持用户自注册和用户激活
● 多语言支持(已经内置了zh简体中文)
● 多数据库支持(MySQL、SQLite、PostgreSQL)
● 外观模版化定制(可以使用 Basecamp 的主题,感觉上就像是自己架设的 Basecamp 服务)
2 Redmine安装与配置
下载InstantRails,解压出来。可以把InstantRails想象成要在本机配置php服务器,里面有mysql,phpmyadmin等等。国内我觉得比较好的有“PHPNOW”)下载的包是绿色包,里面有mysql数据库phpmyadmin等等,直接复制到任意一个文件夹里面即可。注意,路径中不要有空格!
2.1 Redmine安装
现在redmine用到的数据库和Instantrails里面的MySQL数据库是脱离的,也就是说,接下来的任务,实际上是将redmine的数据与数据库关联,即:导入一些数据库到MySQL里面。仅此而已!(可以想象如同在phpMyAdmin里面导入*.sql的文件,导入数据库。)
方法:
1) “PHPnowCNGR/rails_apps/redmine/config"下,有文件“database.yml.example”,重命名一下,改成“database.yml”。我的想法是大概将如同*.doc.bak文件的bak去掉吧。这个是redmine数据库的配置文件,里面有数据库的相关信息。
内容包括:
production:
adapter: mysql
database: redmine
host: localhost
username: root
password:
encoding: utf8
development:
adapter: mysql
database: redmine_development
host: localhost
username: root
password:
encoding: utf8
test:
adapter: mysql
database: redmine_test
host: localhost
username: root
password:
encoding: utf8
2) 点击“InstantRails”目录里面的“InstantRails.exe”文件。这就是启动环境(Apache)的主程序了。
3) 进入phpMyAdmin下,新建三个数据库(用sql命令方式):
create database redmine character set utf8;
(注:进入phpmyadmin下有两种方式。法1:浏览器输入http://127.0.0.1/mysql/ 法2:InstantRails界面(就是刚才点击InstantRails.exe后的程序界面)的I→Configure→Database (via PhpMyAdmin)”。如果该栏是灰色的,表示你安装后没重启机器。重启一下即可。这个问题郁闷了我N个小时)
4) 往数据库里面导入数据
点击InstantRails界面(就是刚才点击InstantRails.exe后的程序界面)的I→Rails Applications→Open Ruby Console Window栏目,然后会跳出dos窗口。在里面输入命令:
cd redmine-0.8.2
rake db:migrate RAILS_ENV="production"
rake load_default_data RAILS_ENV="production"
其中rake db:migrate RAILS_ENV="production" 是创建数据库;rake load_default_data RAILS_ENV="production" 是指明当前项目运行环境为production ,中间会提示选择语言,选择 zh(中文) 。