我决定在项目中引入Redmine来管理开发任务和计划,至于Redmine的优点,请问度娘或者脑补一下。

互联网搜索到的。基本上都是旧版本号的。 1.2.1 的最多,我要新的啊,所以仅仅好自己来啦。

本文主体參考 Redmine Wiki 的安装页面:http://www.redmine.org/projects/redmine/wiki/RedmineInstall,遇到的问题自己攻克了一下。

总之不是翻译,而是实践记录。

环境描写叙述

服务器操作系统为Windows Server 2008 R2 Enterprise。64位版本号。

Rails 3.2.19,ruby为1.9.3p545。

Redmine 为 2.5.2 版本号。

MySQL 为5.5.40 win32 版本号。

ImageMagick 为 ImageMagick-6.8.9-8-Q16-x86-dll 。

安装与配置

Redmine 是基于 Ruby on Rails 的,我选择最新版本号 2.5.2 。请到 redmine wiki 站点中的安装页面了解详情。

截至我写博文时(2014年10月17日)最新版本号为 2.5.2 。

依赖选择

我们先对 Redmine 依赖的环境和软件做下说明。

能跑 Ruby 的操作系统就能跑 Redmine ,依据公司情况,我找了台 Server 2008 的计算机。

Redmine 对 Ruby 和 Rails 的依赖。例如以下图:

Redmine 2.5 版本号须要 3.2 及以上版本号的 Rails 。支持1.8.7 、 1.9.2 、 1.9.3 、2.0.0, 、 2.1 等版本号的 Ruby 。后面我选择 RailsInstaller-2.2.4 来安装 Ruby 和 Rails ,它里面包括的 Rails 版本号是 3.2.19 , Ruby 版本号是 1.9.3p545 。符合 Redmine 的要求。

Redmine支持 MySQL 作为数据库后端。须要 5.0 或更高的版本号。

我选择社区版 server ,版本号号为 5.5.40 。

ImageMagick是可选依赖,用于将 Remine 中的项目数据如甘特图等导出为 png 图片。其他的可选依赖还有版本号管理工具。比方 svn 。Redmine 能够与版本号管理系统整合。假设你要支持 Open ID 。还须要 Ruby OpenID Library 。2 或者更高 版本号。

好啦。如今開始秀安装过程。

RailsInstaller安装

图省事了。使用 RailsInstaller 来配置 Rails 和 Ruby ,它是一键安装,非常easy。

站点在这里:RailsInstaller

按下图所看到的,选择 Windows 下的安装包来下载:

本文写作时 RailsInstaller 的版本号为 2.2.4 ,它带的 Ruby 和 Rails 是用 mingw32 编译出来的, MySQL 要匹配的。也得是 32 位。

安装过程就是一路狂点 Next 。首先是欢迎页:

二话不说。猛戳 Next button,出现许可协议页面:

接受吧,然后再戳 Next button,让你选安装位置还有附加的软件及设置。例如以下图:

须要的空间也不大,咱都选上吧。点击 Install button,開始安装了。

例如以下图:

等着吧,还能干么……

看到下图就 OK 啦:

点击 Finish 吧,亲。然后呢。你看到了 Ruby and Rails 的命令行环境:

到此为止, Ruby 和 Rails 安装就绪。

MySQL安装

MySQL的官网截图例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

你能够随便选择某个版本号,大于 5 就可以。

我使用 5.5.40 x86 32bit MSI installer 。下载了 mysql-5.5.40-win32.msi 。以下是安装欢迎界面:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

我是 Next 控,仅仅会点 Next ,点吧点吧不是罪……看呢,协议页面:

惟有接受,才干享受猛戳 Next 的快乐。

戳下,到安装类型页面:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

我选了完整安装。也没多占多大空间。再戳 Next ,到准备就绪界面了:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

用你无奈的手指,点 Install 吧,然后我们就仅仅能看着进度条发呆了:

咋个回事儿,你造吗?竟然出来了企业版的界面:

Cancel 和 Back 都被灰掉啦,有点儿跟团旅游被强制购物的感觉……没辙啦,带着气儿戳 Next 吧,看看它能变出啥子花样来。

再 Next 吧,耶,木有咧,回到进度条啦哈,原来仅仅是个宣传,而已,没那么坏哈……

以下是安装完毕界面:

MySQL 装完还要做一下配置。你看上图中那个复选框。默认是选中的。

假设本机没有已经配置过的 MySQL ,由他去吧,点击你最爱的 Finish button吧!

(要是安装过而且设置了 MySQL 的 root 账号password,可能有问题,你别选这个 "Launch the MySQL Instance Configuration Wizard" 选项,跑到開始菜单或者安装文件夹下的 bin 文件夹。找到 MySQLInstanceConfig 点下好啦。向导会给你个机会改动 root 的password的。)

我的计算机上原来被同事安装过 MySQL ,我以为删掉啦……结果呢,碉堡的事儿在后面,咱先按下不提吧,来看 MySQL 配置向导咧:

Next 党们,欢乐地戳吧。接下来就让你选配置类型啦:

我选了 Standard Configuration 。继续 Next ,抵达 Service 配置了:

如上图所看到的。我选择了安装 Windows 服务和开机启动,另外把 MySQL 的 bin 文件夹加入到了系统环境变量 PATH 中,这样随时随地就能够訪问了。

戳 Next 吧。然后就该设置账号啦:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

我选择了 Modify Security Settings ,不想埋地雷就没有创建匿名用户。欢快的戳了下 Next ,我到了准备就绪的页面:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

能看到它。好开心!还等嘛。赶紧拥抱 Execute 吧。注意,開始运行你之前的配置喽:

我心里哼着小曲儿。就等着它往出蹦 Finish 界面呢,谁知道,受了惊吓。请看:

哇喔,安全设置失败!要么是由于防火墙设置导致连接不上 3306 端口,要么是之前有安装 MySQL ,卸载时没有清除数据文件夹,导致 root 的password还在那里。

我是哪种呢……

我认为可能是防火墙吧。由于同事说 MySQL 已经删除了。于是我把 mysqld 、 mysql 等等都加入到例外中,然后又到入站规则那里设置了 3306 端口的规则,费了半天劲。最后回来 Retry 。嘿嘿,又弹这个。

我仅仅好叫来我的同事,询问之前的 MySQL password……然后呢, Skip 了。

回到 bin 文件夹,找到 MySQLInstanceConfig 来运行,保持刚才那一路辛苦的配置。到了改动账号这里了,例如以下图:

看看。看看,有不同吧……

这个插曲告诉我们。前戏一定要充分,不然的话……

这次搞下来后,顺利看到了期待已久的 Finish 啊:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

数据库配置 OK 啦,亲们!

ImageMagick安装

到这里去下载:

选择 ImageMagick-6.8.9-8-Q16-x86-dll.exe 那个下载吧。

然后运行它。

我决定先不装这玩意儿啦,先把 Redmine 跑起来看看。后面须要再配置。

Redmine安装与配置

Redmine 到这里下载:http://www.redmine.org/projects/redmine/wiki/Download  。

记住是版本号 2.5.2 哦。

zip 包下载完毕后,解压到 C:\Sites 文件夹以下。这就安装完咧!

以下是配置,挠人的时刻就这么来了,不知道该是欢喜还是悲伤……

拷贝libmysql

为了 Redmine 能够正常连接 MySQL 。须要 MySQL 的 C API 库。即 libmysql.dll 。在这里:

复制到 Ruby 的 bin 文件夹下。如图所看到的:

安装mysql2

Redmine 须要 mysql2(MySQL 针对 Ruby 的 C binding )据说能够提高性能,你能够在 Ruby and Rails 的命令行环境中运行以下的命令来安装:

gem install mysql2

只是我这里出错了哎……

乖乖,缺少 thread.h 。检查了下。 Ruby 中还真没这个头文件。

网络一顿盲搜,时光飞逝啊。我怒了,尼玛,我要找个 thread.h 。我要换 Ruby 版本号!

寻寻觅觅寻不到, thread.h 的踪迹……后来啊,我来到了这里:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

啊哈。没错, rubyinstaller.org ,就是它了。我挑了 Ruby 2.0.0-p576 下载,找到 7z 包中的 ruby/thread.h 文件,复制到 C:\RailsInstaller\Ruby1.9.3\include\ruby-1.9.1\ruby 文件夹以下。

万事大吉了吗?

再次运行 gem install mysql2 。又错啦……

霍霍。找不到 mysqlclient 这个库!

依据错误信息,须要指定 mysql c connector 的位置。

使用 --with-mysql-dir 能够指定 mysql 的位置。然后 gem 安装依赖时就会使用指定位置下的 mysql 头文件和库文件。须要说明的是,路径中不能有空格,像 Program Files(x86) 这样的路径会出错,所以我拷贝了 include 和 lib 文件夹,放在 c:\mysql_sdk 文件夹下。因此我运行以下的命令:

gem install mysql2 -- --with-mysql-dir="C:/mysql_sdk"

这次会通关吗?心中忐忑不已……人生的大起大落来得太快。小心肝承受不了呀……你看。事就这样成了:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

建库

參考我的建库的图片。里面包括了命令。例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

基本步骤是酱紫的:从開始菜单运行 MySQL 5.5 Comand Line Client ,输入password。登录成功,创建库 redmine ,创建用户 redmine ,授权其訪问 redmine 库。

配置数据库连接

把 C:\Sites\redmine-2.5.2\config文件夹下的 database.yml.example 原地拷贝一份,名字改为 database.yml 。然后用文本编辑器打开它,数据库连接就在 database.yml 中配置。

多幸福啊, Redmine 默认的配置就是针对 MySQL 的。你看:

如图所看到的,我们仅仅须要改动 production这个配置就可以。一般你仅仅要改动 password 就可以(事实上你能够把 username 换成 redmine,password相应)。

比方我的配置:

production:
adapter: mysql2
database: redmine
host: localhost
username: root
password: "zc_redmine"
encoding: utf8

安装依赖

首先要安装 bundler ,Redmine 使用它来维护 gems 依赖。

命令:

gem install bundler

然后要确认你在 C:\Sites\redmine-2.5.2 文件夹以下,不在的话,使用 cd 命令进去,然后运行以下的命令来解决 redmine 须要的依赖:

bundle install --without development test

这里又会尝试安装 mysql2 。由于我们在 production 中指定使用 mysql2 作为数据库适配器。

假设发现已经安装。就直接用本地的。你会看到 Using xxx 之类的信息,例如以下图:


    安装过程是漫长的……希望能成功,但是!又夭折啦!

看下图:

原来是 rmagick 啊,先跳过算咧,运行这个命令:

bundle install --without development test rmagick

我的心,在等待。永远在等待……Bingo!有图有真相:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

最终能够继续前行啦。真是一把鼻滴一把泪的……

还是要啰嗦两句。假设你 bundle install 失败,能够依据失败提示。看是哪个 gem 有问题。然后单独运行安装操作来查问题在哪里……就这么循环,总能搞定的。

人生须要正能量,一定会搞掂。

生成会话存储秘钥

由于我们的 redmine 版本号是 2.x ,运行这个命令吧:

rake generate_secret_token

上面的命令生成一个随机的 Key , Rails 用它来加密 cookie ……

这么简单一命令,也会错……看图吧:

版本号问题啊,听人劝,这么干:

bundle exec rake generate_secret_token

这里的黎明静悄悄……运行这个命令,竟然木有不论什么 output ,难道是成功了吗?且走着……

创建数据库结构

创建数据库结构,使用以下的命令:

set RAILS_ENV=production
bundle exec rake db:migrate

注意是一条一条运行啊,后面不提醒啦……还有,由于我 rake 版本号问题,仅仅好每次调用 rake 时都在前面附加 bundle exec 喽。

它会创建一系列的表。设置表的权限,还会创建一个管理员账号,就是天上地下无人不知的 admin 。password也是 admin 。

看到以下这个图。说明 OK 啦啦啦:

数据库默认数据设置

使用以下的命令来向数据库中插入默认的配置数据:

set RAILS_ENV=production
bundle exec rake redmine:load_default_data

一条一条运行。

第二条运行时。会然我们设置语言。如图所看到的:

我选择了 zh ,然后回车。非常快就 OK 啦:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

又过了一关……我们还要走,由于。安踏,永不止步。

測试安装

不知不觉,竟然到了这一步!这是要结束的节奏吗?

废话少说,赶紧的,运行以下的命令:

ruby script/rails server webrick -e production

你是我的眼,带我领略这四季的变换……快告诉我,你是不是看见了这个图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

恭喜你。 redmine 已成功启动!

从输出信息看到,它监听了 0.0.0.0:3000 ,所以你能够訪问 http://localhost:3000 看看效果。也能够訪问实际的 ip 地址,比方 http://192.168.1.30:3000 。效果例如以下图所看到的:

点击右上角的登录,能够看到以下的页面:

还记得我们的 admin 账号吗。输入进去,点击登录button,就进去了,随便点点,可能看到这个界面:

好啦。到此为止。你能够享受下管理员无上的权力带来的快感。你能够定义角色,定义工作流程,创建成员……哇哦。真的好厉害。

只是,万里长征刚刚開始,环境才就绪,怎样把项目管理过程在 Redmine 中体现出来,但是路漫漫其修远……



Windows下安装Redmine 2.5.2不全然指南的更多相关文章

  1. 在windows下安装redmine及相关问题

    转载注明出处,adousen的博客http://blog.csdn.net/adousen redmine是一个ticket驱动项目管理工具,与trac等工具相比.它最大特色是能够在一个实例中同一时候 ...

  2. Windows下安装Redmine

    参考链接:http://www.cnblogs.com/afarmer/archive/2011/08/06/2129126.html 最新教程:http://www.myexception.cn/w ...

  3. Windows 下安装 tensorflow & keras & opencv 的避坑指南!

    安装 Anaconda3 关键的一步: conda update pip 下面再去安装各种你需要的包,一般不会再报错. pip install -U tensorflow pip install -U ...

  4. 在windows server2003下安装Redmine

    原文:在windows server2003下安装Redmine 参考文献:Windows下使用_Ruby1.9.3安装RedMine2.2.3 参考资料:http://www.redmine.org ...

  5. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

  6. Windows 下安装 MongoDB

    Windows 下安装 MongoDB 的步骤:1.官网www.mongodb.com下载安装包或zip包2.解压下载的文件到文件夹 D:\mongo .3.使用管理员权限打开CMD,导航到目录 D: ...

  7. Coreseek Windows下安装调试

    由于项目需要全文检索,后面就去网上查了下资料,找到了Sphinx[中文是狮身人面像]这个全文检索引擎,听说挺好用的,不过没有中文分词.后面又去找了一下,找到了Coreseek,一款中文全文检索/搜索软 ...

  8. 从零开始学 Java - Windows 下安装 Tomcat

    谁都想分一杯羹 没有一个人是真正的无私到伟大的,我们试着说着做自己,与人为善,世界和平!殊不知,他们的真实目的当你知道后,你会被恶心到直摇头并下意识地迅速跑开,下辈子都不想见到他.不过,他没错,你也没 ...

  9. 从零开始学 Java - Windows 下安装 JDK

    关于未来 "我要死在火星.在我死去的时候能够想着人类能有一个美好的未来--有可持续的能源,同时能够殖民其他的星球来避免人类灭绝的最坏可能." 官网下载 直接打开官网:http:// ...

随机推荐

  1. Android Binder分析二:Natvie Service的注冊

    这一章我们通过MediaPlayerService的注冊来说明怎样在Native层通过binder向ServiceManager注冊一个service,以及client怎样通过binder向Servi ...

  2. C#关键字var是什么,在何种情况下使用

    从.NET 3.0开始,在方法内部可以使用var关键字声明局部变量.var关键字到底是什么?在何种情况下使用呢? □ var关键字用来隐式地声明一个数据类型,变量类型是在编译期确定的,而不是在运行时确 ...

  3. 获取WINDOWS打印机列表

    获取WINDOWS打印机列表 如何知道WINDOWS已经安装了哪些打印机? 1) usesVcl.Printers 2) Printer.Printers  // property Printers: ...

  4. 企业应用:C/S 开发需要考虑的事项

    备注 几乎没有做过 C/S 方面的开发(有 RIA 方面的开发经验),此文纯属个人胡思乱想,写下来是希望朋友们多给点意见. C/S 开发注意事项 C/S 开发需要注意如下几点: 采用何种模式组织 UI ...

  5. OpenCL 获取Program信息

    本程序生成一个OpenCL Program,然后获取Program的source,事实上它的source就是一个char[],能够打印出来. 然后我们把这些内容和原来文本的内容对照,看看是否是我们想要 ...

  6. Android之判断当前网络状态

    /** * 检测网络是否可用 * @return */ public boolean isNetworkConnected() { ConnectivityManager cm = (Connecti ...

  7. WhyEngine游戏引擎作品合集

    从9月份开始写三个月内总共实现了13个游戏,5个屏保程序,5个DEMO程序.如果运行时,报有木马病毒什么的,请相信我,这绝对是杀毒软件的误报,自己写的程序由于没有得到杀毒软件的认证,被报有危险是正常的 ...

  8. [14] 齿轮(Gear Wheel)图形的生成算法

    顶点数据的生成 bool YfBuildGearwheelVertices ( Yreal radius, Yreal assistRadius, Yreal height, Yuint slices ...

  9. fstream的使用方法

    ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;  在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O ...

  10. otl使用存储过程或是LEFT JOIN时提示输出类型未知的问题

    otl_stream的构造函数或成员函数open的第四个参数const int implicit_select 默认是otl_explicit_select.当使用存储过程时,必须指定为otl_imp ...