成長型公司,最近需要項目管理的軟件,所以在windows的服務器上搭建了redmine,其中也遇到了兩個坑,現記錄下來。
Redmine是用Ruby開發的基於web的項目管理軟件,是用ROR框架開發的一套跨平台項目管理系統。並且支持多數據庫,其實此類軟件在linux下搭建更好,windows上坑會略多。
安裝流程
先簡單描述下安裝流程。其實說白了redmine就是一個管理系統,也就是網站,在有相應的環境之下,只要部署到服務器上即可。
- 安裝ruby和rails環境。
- 選擇一個數據庫,可以是mysql、sql server、PostgreSQL等。
- 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包,重新安裝。步驟如下:
- 刪除原有的gem包,可能會有多個,選擇全部刪除
gem uninstall mysql2
- 下載mysql的Connector/C,地址如下。下載的時候選擇zip包,注意,驅動的版本需要和ruby的版本一致,博主安裝的是rubyInstaller,所以是32位的ruby,故下載的驅動也為32位的。同時,現在驅動的版本有兩個,6.1.1和6.0.2。請下載6.0.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"'
- 再執行
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包,解決方案如下:
- 下載ssl證書http://curl.haxx.se/ca/cacert.pem到本地。
- cmd中添加環境變量
set SSL_CERT_FILE=pem文件路徑
。