成长型公司,最近需要项目管理的软件,所以在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. Spring MVC 表单验证

    1. 基于 JSR-303(一个数据验证的规范): import javax.validation.constraints.Min; import javax.validation.constrain ...

  2. sqlserver 处理百万级以上的数据处理与优化

    一处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应 ...

  3. Android创建窗口(一)创建应用窗口

    所谓的窗口(Window)就是一个显示在手机屏幕上可视化视图的一片区域.在Android中窗口是一个抽象的概念,每一个Activity就对应着一个窗口,而所有的窗口都是由视图(View)来呈现,而我们 ...

  4. iOS 图文并茂的带你了解深拷贝与浅拷贝

    一.概念与总结 1.浅拷贝 浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间,当内存销毁的时候,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指针. 浅拷贝就是拷贝指 ...

  5. 关于net mail组件ssl端口问题

    最近开发一个项目使用到.net mail组件发送邮件.在开发环境中一切正常,可是部署到阿里云服务器上死活发送不出去,一直连接不上,或者报语法错误. 然后是各种折腾,各种测试,最后发现,使用ssl的时候 ...

  6. docker~学习笔记索引

    回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...

  7. UglyNumber - 找“丑数”

    uglynumber的定义是只能被1,2,3,5整除的数 规定1是第一个uglynumber:以此类推,1 2 3 4 5 6 8 9 10 12 15 16 18 20 24 25 27 30 32 ...

  8. JMeter 监控和记录&常用功能

    使用https连接时,如果对应站点的CA 证书错误,会直接报连接不到服务器的错误,org.apache.commons.httpclient.NoHttpResponseException,把错误证书 ...

  9. IBATIS动态SQL(1)

    转:IBATIS动态SQL 直接使用JDBC一个非常普遍的问题就是动态SQL.使用参数值.参数本身和数据列都是动态SQL,通常是非常困难的.典型的解决办法就是用上一堆的IF-ELSE条件语句和一连串的 ...

  10. Protocol Buffers与FlatBuffers效率对比

    Protocol Buffers是Google跨语言.跨平台的通用序列化库.FlatBuffers同样出自Google,而且也跨语言跨平台,但更强调效率,专门为游戏开发打造.在游戏界混了几年,各种各样 ...