Redmine(Ruby)配置经验
记录在配置Redmine邮件同步过程中遇到的各种问题与解决方法

1. 如何安装Redmine
http://www.redmine.org/projects/redmine/wiki/RedmineInstall

2. 如何配置自动邮件收取和定时同步
Windows下:http://www.redmine.org/projects/redmine/wiki/How_to_install_Redmine_in_Linux_Windows_and_OS_X_using_BitNami_Redmine_Stack
类Unix环境下:http://www.redmine.org/projects/redmine/wiki/RedmineReceivingEmails#Forwarding-emails-from-your-email-server
由于我主要是用Mac下配置的,下面主要为Mac下的命令。在其他操作系统下可能会略有不同
由于邮件服务器不是自己架设的,只能用imap或pop3同步的方法。
测试下来pop3同步QQ企业邮箱可能会有问题,于是采用了imap

3. Rake
自动收邮件的方法redmine:email:receive_imap需要rake来运行
关于什么是rake:
Rake中文介绍
http://hi.baidu.com/kenrome/item/0b178757da9c24948d12ed39
Rake官方文档
http://rake.rubyforge.org/

4. 运行rake的条件
运行rake首先要找到Rakefile所在的文件夹
对于BitNami的Redmine,安装目录在:/Applications/redmine-2.3.0-0/apps/redmine/htdocs

运行rake的时候如果遇到如下error:
rake aborted!
no such file to load - bundler/setup
说明bundle没装好

这时候就需要运行命令来安装bundle

5. 安装bundle
在Terminal里执行下列命令即可安装Bundle:
gem install bundler
bundle install
bundle exec rake db:create

如果要知道什么是bundle,可以查看链接:
http://guides.rubyonrails.org/getting_started.html#creating-a-new-rails-project
http://stackoverflow.com/questions/7454361/rubygems-do-not-install-on-os-x-lion

装Bundle的时候可能遇到各种Error
我遇到过的有:
1. Json错误,靠stackoverflow错误信息解决
2. 安装rmagick错误
rmagick是最头疼的一个错误,是由于rmagick 2.13.1版本的一个不兼容的问题导致。虽然2.13.2版本里修正了,但是bundle本身不能选择版本,只能自动安装2.13.1
修正方法:
http://stackoverflow.com/questions/13942443/error-installing-rmagick-on-mountain-lion/13960185#13960185
里面的路径可能会需要修改为/Users/<username>/.homebrew/Cellar/imagemagick/6.8.0-10/lib

运行bundle exec rake db:create可能也会遇到如下Error:
image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle
解决方法:
http://stackoverflow.com/questions/8437455/rake-dbmigrate-mysql
简单的方法是:在运行所有Terminal方法前,运行一下:export DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH"
永久解决方法是修改 .bash_profile

6. 运行rake
Redmine测试账号
redmine.test@honestwalker.com
Password01!

如果要直接在Terminal里运行的话,先运行
cd /Applications/redmine-2.3.0-0/apps/redmine/htdocs
再运行
export DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH"
最后运行
bundle exec rake --silent redmine:email:receive_imap unknown_user=accept no_permission_check=1 RAILS_ENV="production" host=imap.exmail.qq.com port=993 username=redmine.test@honestwalker.com password=******* ssl=1 project=testproject1 tracker=Support
可能会报一些编码问题,不过可以无视
(SSL可能是必须的,之前不用SSL似乎没有正确收取)

7. 定时运行
类Unix系统下的定时运行是用cron
关于cron的介绍可参见:
cron定时任务(类Unix系统)中文介绍
http://www.blogjava.net/chenlb/archive/2008/07/02/212123.html
简单地说:
crontab -e是修改cron的任务
crontab -l是查看已创建的cron任务
crontab -r是删除所有cron任务

如果要用cron执行一句语法的范例可参见:
*/30 * * * * cd /Applications/redmine-2.3.0-0/apps/redmine/htdocs

由于cron下执行任务都只能执行一行,但实际需要执行三行,所以需要用osascript(Mac下的脚本)

8. osascript
osascript的语法类似:
osascript -e 'tell application "terminal"' -e 'do script "cd / cd /"' -e 'end tell'
分号可以用来间隔命令,在同一个Terminal窗口执行多个命令

所以最终的osascript命令为:
osascript -e 'tell application "terminal"' -e 'do script "cd /Applications/redmine-2.3.0-0/apps/redmine/htdocs;export DYLD_LIBRARY_PATH=\"/usr/local/mysql/lib:$DYLD_LIBRARY_PATH\";bundle exec rake --silent redmine:email:receive_imap unknown_user=accept no_permission_check=1 RAILS_ENV=\"production\" host=imap.exmail.qq.com port=993 username=redmine.test@honestwalker.com password=****** ssl=1 project=testproject1 tracker=Support"' -e 'end tell'

9. 结果
执行以下命令
*/30 * * * * osascript -e 'tell application "terminal"' -e 'do script "cd /Applications/redmine-2.3.0-0/apps/redmine/htdocs;export DYLD_LIBRARY_PATH=\"/usr/local/mysql/lib:$DYLD_LIBRARY_PATH\";bundle exec rake --silent redmine:email:receive_imap unknown_user=accept no_permission_check=1 RAILS_ENV=\"production\" host=imap.exmail.qq.com port=993 username=redmine.test@honestwalker.com password=****** ssl=1 project=testproject1
tracker=Support"' -e 'end tell'

Redmine(Ruby)配置经验的更多相关文章

  1. 项目管理软件---redmine安装配置

    redmine是一个开源的项目管理软件,其主页是:http://www.redmine.org redmine是基于Ruby on Rails框架的,跨平台和跨数据库. 安装过程 ========== ...

  2. 分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验

    分享下使用 svn,测试服务器代码自动更新.线上服务器代码手动更新的配置经验 利用SVN的POST-COMMIT钩子自动部署代码 Linux SVN 命令详解 Linux SVN 命令详解2 使用sv ...

  3. Ubuntu 下 redmine 安装配置

    安装 rvm \curl -L https://get.rvm.io | bash -s stable --ruby --autolibs=enable –auto-dotfiles 安装 Ruby ...

  4. Redmine email配置

    很简单,先安装sendmail apt-get install sendmail 然后在redmine目录的配置文件conf/configuration.yml中取消几行注释: # ==== Send ...

  5. windows使用ruby配置redis集群

    基本是从网上抄的.不过网上的东西不一定是完全正确的 我修正了一下 首先,资源有限,我就不搞什么主机从机了,我需要的集群实现内存的最大化 四台机器安装redis, 配置成服务, 打开6379端口,集群1 ...

  6. redmine邮件配置

    网上找了半天,有很多答案,最后自己测试找出一个解决办法. 1.找到安装位置 D:\Bitnami\redmine-2.5.2-2\apps\redmine\htdocs\config下的文件confi ...

  7. bitnami redmine svn配置

    采用bitnami 方案安装redmine svn服务器端会自己进行安装 1.创建版本库 首先进入remine安装目录的subversion/bin目录,例如我的安装目录是“/opt/redmine/ ...

  8. Redmine 邮件配置

    高版本号的Redmine是没有email.yml的.是和configuration.yml合并了.仅仅要配置configuration.yml即可了. 首先得说下Redmine的邮件,配置这个邮件,是 ...

  9. faplayer编译配置经验

    最近在做在线m3u8类格式的视频直播应用, 在获取m3u8的文件之后,如果采用Android系统播放器来播,会有各种各样的问题,容易卡死.不连续,也不能自定义一些选项.查找资料以后,决定采用fapla ...

随机推荐

  1. 《神秘的程序员们》漫画26~28:《万年坑系列》 I、II、III(转)

    26 <万年坑系列> I:那些令你憎恶的系统从何而来? 世界上总有一些令人憎恶的系统,而你却天天非用不可.这些系统的提供方们既不缺钱也不缺人,有的还很热衷于改版升级. 但为何升级完后,它们 ...

  2. Windows Phone获取WiFi BSSID

    原文:Windows Phone获取WiFi BSSID BSSID,一种特殊的Ad-hoc LAN的应用,也称为Basic Service Set (BSS),一群计算机设定相同的BSS名称,即可自 ...

  3. Android采访开发——2.通用Android基础笔试题

    注意finddreams博客: http://blog.csdn.net/finddreams/article/details/44219231 正值跳槽的热季.整理一下Android面试中最常考的笔 ...

  4. Android GPS获取当前经纬度坐标

    APP中可能会遇到一种需求,就是将当前所在位置的坐标传到server上,今天我提供三种途径去获取经纬度坐标信息,第一种是通过Android API来实现,另外一种通过百度地图API来实现,第三种通过天 ...

  5. 很酷的CSS3仿Facebook登录表单

    原文:很酷的CSS3仿Facebook登录表单 今天看到一款很不错的CSS3登录表单,外观是仿Facebook的登录表单,还挺不错的,另外也支持简单的表单输入框验证.下图是表单的效果图: 我们也可以在 ...

  6. Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

    原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...

  7. Eclipse UML小工具AmaterasUML的配置和使用

    AmaterasUML是个人认为最好用的Eclipse UML插件,能够通过拖拽Java源文件,轻松生成类图结构.同一时候支持活动图.时序图和用例图. 它的官方下载地址是:http://sourcef ...

  8. HDU - 1394 Minimum Inversion Number (线段树求逆序数)

    Description The inversion number of a given number sequence a1, a2, ..., an is the number of pairs ( ...

  9. linux旁边flv注射MetaData工具

    1,yamdi 官方网站:http://yamdi.sourceforge.net/                   下载链接:http://sourceforge.net/projects/ya ...

  10. hdu1286 寻找新朋友 (欧拉功能)

    原标题:点击打开链接 关于欧拉函数的算法具体解说:点击打开链接 欧拉函数 1.欧拉函数是不全然积性函数. 2.欧拉函数p(x) = x * (p1 - 1) / p1 * (p2 - 1)/p2 * ...