代码改变世界

win下安装Redmine常见错误解决方案

2017-08-26 16:25  Fururur  阅读(2832)  评论(0编辑  收藏  举报

成长型公司,最近需要项目管理的软件,所以在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文件路径

参考文献