成长型公司,最近需要项目管理的软件,所以在windows的服务器上搭建了redmine,其中也遇到了两个坑,现记录下来。

Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统。并且支持多数据库,其实此类软件在linux下搭建更好,windows上坑会略多。

安装流程

先简单描述下安装流程。其实说白了redmine就是一个管理系统,也就是网站,在有相应的环境之下,只要部署到服务器上即可。

  1. 安装ruby和rails环境。
  2. 选择一个数据库,可以是mysql、sql server、PostgreSQL等。
  3. cmd配置,运行server就可以了。

首先需要安装ruby和数据库,这边就不详细说了,需要注意版本号和系统的架构。详细的安装流程可以看官方按安装文档,写的已经非常详细,基本没什么大的坑。

此处安装的版本

  • RailsInstaller2.3
  • mysql5.7.19
  • redmine3.4

安装过程中遇到的error

数据库驱动加载失败。

failed to load libmysql.dll from

大致的错误入上图显示。这个错误是mysql的驱动和ruby的gem不匹配导致的。ruby的mysql2的gem包需要C的connector的。

在执行到bundle install --without development test rmagick

这一步时,自动安装的mysql2 gem包不可用,从而在执行bundle exec rake generate_secret_token时,出现上述错误。所以我们需要删除原来的mysql2的gem包,重新安装。步骤如下:

  1. 删除原有的gem包,可能会有多个,选择全部删除
gem uninstall mysql2
  1. 下载mysql的Connector/C,地址如下下载的时候选择zip包,注意,驱动的版本需要和ruby的版本一致,博主安装的是rubyInstaller,所以是32位的ruby,故下载的驱动也为32位的。同时,现在驱动的版本有两个,6.1.1和6.0.2。请下载6.0.2。下载完成后,解压到本地。
  2. 手动安装gem包,lib和include的路径为,解压后的路径
gem install mysql2 --platform=ruby -- '--with-mysql-lib="D:\mysql-connector-c-6.1.11-win32\lib" --with-mysql-include="D:\mysql-connector-c-6.1.11-win32\include"'
  1. 再执行bundle exec rake generate_secret_token,没有错误,ok。

SSL验证失败

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed  OpenSSL::SSL::SSLError)

这个是ssl的证书问题,导致无法下载gem包,解决方案如下:

  1. 下载ssl证书http://curl.haxx.se/ca/cacert.pem到本地。
  2. cmd中添加环境变量set SSL_CERT_FILE=pem文件路径

参考文献

win下安装Redmine常见错误解决方案的更多相关文章

  1. Docker在centos下安装以及常见错误解决

    系列目录 Docker安装(使用阿里云镜像) Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收 ...

  2. Elasticsearch学习之ElasticSearch 5.0.0 安装部署常见错误或问题

    ElasticSearch 5.0.0 安装部署常见错误或问题 问题一: [--06T16::,][WARN ][o.e.b.JNANatives ] unable to install syscal ...

  3. php源码编译常见错误解决方案大全

    php源码编译常见错误解决方案大全http://www.cnlvzi.com/index.php/Index/article/id/143 在CentOS编译PHP5的时候有时会遇到以下的一些错误信息 ...

  4. 【win7下安装node.js错误:roling back action】与【"grunt" 不是内部或外部命令】 解决方法

    [win7下安装node.js错误:roling back action] 解决方法: Node.js 服务器端的JavaScript Node.js 是一个基于Chrome JavaScript 运 ...

  5. 在windows server2003下安装Redmine

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

  6. Win下安装MySQL 5.6

    最近身边有人要win下安装mysql 去学习数据库,问我如何安装MySQL,其实win 下安装要比Linux简单的多,直接运行安装包下一步安装即可. 1.首先我们运行mysql-installer-c ...

  7. PHP编译安装时常见错误解决办法,php编译常见错误

    PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...

  8. Ubuntu下postgresql安装及常见错误处理

    依赖工具库 注意: 默认用户名是postgres 以下命令是Ubuntu操作系统中的命令 make GCC Zlib 安装命令:sudo apt-get install zlib1g-dev 注意有些 ...

  9. Ubuntu 搭建svn服务器 ,以及常见错误解决方案

    一.安装命令: 1)以root身份登录.执行:sudo su -命令 2)执行安装命令:apt-get install subversion   二.创建项目目录 1)mkdir  /home/svn ...

随机推荐

  1. CSS 回流(reflow)

    摘录: 1. 回流 回流是指浏览器为了重新渲染部分或者全部的文档而重新计算文档中元素的位置和几何构造的过程.    因为回流可能导致整个dom树的重新构造,所以会影响性能. 2. display:no ...

  2. Redis 错误1067:进程意外终止,Redis不能启动,Redis启动不了

    Redis 错误1067:进程意外终止,Redis不能启动,Redis启动不了 >>>>>>>>>>>>>>> ...

  3. Docker 部署DropWizard

    FROM index.alauda.cn/alauda/ubuntu MAINTAINER hongxiao.shou "shouhongxiao@163.com" COPY jd ...

  4. Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据&流程分析

    QQ空间说说抓取难度比较大,花了一个星期才研究清楚! 代码请移步到GitHub GitHub地址:https://github.com/20100507/Qzone [没有加入多线程,希望你可以参与进 ...

  5. C# 设计模式之空对象模式

    最近看了不少的书籍和视频等相关资料,决定自己边学习边写一下个人对设计模式的理解,如果有不对的请大家多多指正. 今天先说说我个人觉得最简单的设计模式 -- [空对象模式] 空对象模式可以减少客户端对对象 ...

  6. USB的包结构及包分类

    USB的传输总是低位在前,高位在后. USB的传输方向:从设备到主机的数据为输入:从主机到设备的数据叫做输出. 1. 包结构 以同步域开始,紧跟着一个包标识符PID(Packet Identifier ...

  7. nyoj_68:三点顺序(计算几何)

    题目链接 根据 AB*AC的值进行判断即可(ps,结果为0时不构成三角形) #include<iostream> #include<cstdio> #include<cs ...

  8. linux 的一些脑洞操作

    把当前文件夹的文件名用","连接成一行,或者将多行转变为一行 ls | paste -s -d "," # -s 选项将输入进行一次性粘贴 ls | xargs ...

  9. cloudstack下libvirtd服务无响应问题

    在cloudstack4.5.2版本下,偶尔出现libvirtd服务无响应的情况,导致virsh命令无法使用,同时伴随cloudstack master丢失该slave主机连接的情况.最初怀疑是lib ...

  10. 接口自动化(Python)-利用正则表达式从返回的HTML文本中截取自己想要的值

    例如一个功能接口的返回值 是一个HTML文本: 例如我们要取上图中标识的id的值,并且这个值是动态的,这是我们就需要用到正则表达式进行匹配. 如下是正则匹配的方法(代码中都有注释): 我们在真正使用的 ...