Windows平台安装配置项目管理工具Redmine

下载

1.InstantRails http://rubyforge.org/projects/instantrails/
2.Redmine http://rubyforge.org/frs/?group_id=1850

安装

1、解压缩已下载的InstantRails 和 Redmine 到根目录下X:\(X代表盘符),注意不能放在文件夹名字带空格的目录下(比如Program Files下),否则会报错。

2、将 Redmine 解压缩的文件夹直接拷贝到 InstantRails 目录的 rails_apps 目录下。

3、在 InstantRails 目录下,启动InstantRails.exe。这时出现一个界面,上面可以控制Apache和MySql的停止和启动,请确保这两个都启动了。如果你的电脑上安装了IIS,可能需要在httpd.conf中修改Apache的监听端口,默认是80。

4、如果不设置MySQL的root账户密码的话,请直接看5,如果设置root密码的话会后续步骤中可能会遇到遇到以下问题,如果遇到请参照如下办法解决:

(1)报错:#1045 – Access denied for user ‘root’@’localhost’ (using password: NO)

解决办法:在C:\InstantRails\phpmyadmin目录下,找到config.inc.php文件,在文件中凡是涉及到root密码的地方填上设置的root密码即可(默认为空)。

(2)报错:#1251 – Client does not support authentication protocol requested by server; consider upgrading MySQL client

解决办法:进入命令行下,转到MYSQL目录的BIN目录下,进入MYSQL命令行模式:

例:d:\mysql\bin>mysql –u root –p 123456 (root密码为123456)

输入命令:

mysql>set password for 'root'@'localhost'=old_password('123456');(注意冒号不能少)

退入MYSQL命令行:

mysql>\q

(3)报错:Missing session secret. Please run ‘rake config/initializers/session_store.rb’

解决办法:在命令行中输入rake config/initializers/session_store.rb即可。

5、创建数据库:

create database redmine character set utf8;

可以通过 InstantRails 进入 phpMyAdmin ,创建数据库。

6、在redmine根目录下,找到 rails_apps\redmine\config 目录下的 database.yml.example文件,重命名为 database.yml。

7、创建数据表: 进入 Redmine 项目的命令行,在控制台中执行命令: cd redmine 进入redmin目录

rake db:migrate RAILS_ENV="production"

用来创建数据库,完成后应该创建 43 个表。

rake redmine:load_default_data RAILS_ENV="production"

指明当前项目运行环境为 production ,中间会提示选择语言,选择 zh 。

8、到这里其实就算安装结束了,现在启动 web 服务,还是在上面的在命令行里执行:

ruby script/server -e production

9、在浏览器中访问地址: http://localhost:3000/ 进入 Redmine。缺省管理员用户名是admin,密码也是admin。

服务配置

1、MySQL自启服务的安装: MySql只是做为一个普通程序被InstantRails.exe启动,而Redmine又依赖于MySql,因此需要将MySql安装为Windows服务,进入到C:\InstantRails\mysql\bin目录下执行:mysqld -install即可将MySql安装为服务,在服务管理器中将其设为自动启动。

2、Redmine自启服务的安装: Redemine的启动是用命令行执行的,在Redmine根目录下执行:

ruby script/server -e production

但是执行后不能关闭控制台,不然服务就会关闭,这对于重启服务器来说是一件很麻烦的事情,每次都要手动启动Redmine; 既然Windows有服务,可自启,那就安装成服务,安装步骤如下: 先把下面4个文件拷到C:\instantrails\ruby\bin目录下,文件是mongrel_service-0.3.4-i386-mswin32.gem, mongrel-1.1.5-x86-mswin32-60.gem, win32-service-0.5.2-mswin32.gem, gem_plugin-0.2.3.gem。 A、先安装mongrel_service,在C:\InstantRails\ruby\bin目录下运行:

gem install mongrel_service --ignore-dependencies

此过程中会下载一些其他必须的包;

B、使用mongrel_service将Redmine安装为服务:

mongrel_rails service::install -N RedMine -c C:\InstantRails\rails_apps\redmine -p 3000 –e production;

其中C:\InstantRails\rails_apps\redmine是Redmine所在目录 3000是监听端口,然后修改启动方式为自动即可;

C、安装服务后,查看-e后的参数是不是production,如果不是production而是development,则在注册表中把参数手动改为production即可,修改方法是:在“开始→运行”中键入“regedit。exe”,打开“注册表编辑器”,展开分支

“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”,在下面都是系统服务的名称,右侧窗格中显示的就是服务的详细参数。找到ImagePath项,修改保存后在服务列表中启动服务,并把服务设置自动启动。然后修改启动方式为自动启动,并添加MySQL服务为其依赖服务(如果你的MySQL服务器不是本机就不用麻烦了):

sc config RedMine start=auto depend=MySQL

注意,执行sc config系列指令,服务必须是未启动的才行,否则会出错。

将来如果想去掉这个服务,只要执行:

mongrel_rails service::remove -N RedMine

3、Redmine邮件的配置:

Redmin可以为一些操作提供邮件通知如主题改变,新增问题等,这样可以让开发人员及时知道变化。在使用此功能前需要先配置邮件服务器,将C:\InstantRails\rails_apps\redmine-0.8.0\config目录下的email.yml.example更名为email.yml,然后用文本编辑器打开此文件,将内容改为如下:

# Outgoing email settings

production:
 delivery_method: :smtp
 smtp_settings:
  address: "smtp.163.com"
  port: 25
  domain: "163.com"
  authentication: :login
  user_name: "[email protected]"
  password: "123456"

development:
 delivery_method: :smtp
 smtp_settings:
  address: "smtp.163.com"
  port: 25
  domain: "163.com"
  authentication: :login
  user_name: "[email protected]"
  password: "123456"

这里采用的是163的Smtp服务器来发送邮件,其中特别需要注意的是address,domain,user_name,password中的值都要加上双引号,否则会报错。然后就可以在Redmine的界面中启用邮件通知,设置一下发件人地址和签名即可。

4. 集成SubVersion

集成SubVersion就很简单了,在版本库页面选择Subersion,然后填写SVN仓库的url和登录Subversion的用户名,密码即可通过Redmine查看svn仓库中的文件并可比较差异。

5. Redmine的WIKI

Redmine的Wiki功能比较简单,使用wiki时一定要注意在标记的前后都要留有空格,否则会无效如变粗字体:*Ning* 其中第一个 * 的前面要留有一个空格,而第二个*后面也要留有一个空格,其他标记类似。在Redmine中可以自定义工作流程,工作流程是指某一个角色针对某一类问题(如功能,缺陷和支持)的状态迁移规则,此时该类问题就被跟踪(此时该类问题也称之为Tracker),状态迁移规则决定了某类问题是否可以从一个状态迁移到另外一个状态。