Redmine(Ruby)配置经验
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)配置经验的更多相关文章
- 项目管理软件---redmine安装配置
redmine是一个开源的项目管理软件,其主页是:http://www.redmine.org redmine是基于Ruby on Rails框架的,跨平台和跨数据库. 安装过程 ========== ...
- 分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验
分享下使用 svn,测试服务器代码自动更新.线上服务器代码手动更新的配置经验 利用SVN的POST-COMMIT钩子自动部署代码 Linux SVN 命令详解 Linux SVN 命令详解2 使用sv ...
- Ubuntu 下 redmine 安装配置
安装 rvm \curl -L https://get.rvm.io | bash -s stable --ruby --autolibs=enable –auto-dotfiles 安装 Ruby ...
- Redmine email配置
很简单,先安装sendmail apt-get install sendmail 然后在redmine目录的配置文件conf/configuration.yml中取消几行注释: # ==== Send ...
- windows使用ruby配置redis集群
基本是从网上抄的.不过网上的东西不一定是完全正确的 我修正了一下 首先,资源有限,我就不搞什么主机从机了,我需要的集群实现内存的最大化 四台机器安装redis, 配置成服务, 打开6379端口,集群1 ...
- redmine邮件配置
网上找了半天,有很多答案,最后自己测试找出一个解决办法. 1.找到安装位置 D:\Bitnami\redmine-2.5.2-2\apps\redmine\htdocs\config下的文件confi ...
- bitnami redmine svn配置
采用bitnami 方案安装redmine svn服务器端会自己进行安装 1.创建版本库 首先进入remine安装目录的subversion/bin目录,例如我的安装目录是“/opt/redmine/ ...
- Redmine 邮件配置
高版本号的Redmine是没有email.yml的.是和configuration.yml合并了.仅仅要配置configuration.yml即可了. 首先得说下Redmine的邮件,配置这个邮件,是 ...
- faplayer编译配置经验
最近在做在线m3u8类格式的视频直播应用, 在获取m3u8的文件之后,如果采用Android系统播放器来播,会有各种各样的问题,容易卡死.不连续,也不能自定义一些选项.查找资料以后,决定采用fapla ...
随机推荐
- 采用shell脚本统计代码的行数
刚毕业那会儿有一次去台湾公司面试,我问多行代码怎么写.我从来没有想过这个问题,粗略计算,.惊叹:大概几十万行不行. 最近整理资料,看着eclipse左边全面上市,我觉得这个东西.代码共同拥有的行倒底总 ...
- bzoj 2109 & 2535 空中管制 解读
[] [分析]小猪真的是一个很好的问题.我认为这是一个问题洪水.建立拓扑后(便! ).直接把最外层设定序号为1,第二层为2.bfs下去就可以. . . 结果发现:飞行序号不能同样.. . 于是開始想. ...
- 文件I/O之-打开文件在内核中的表示
在unix系统中,一切皆文件.系统把文件夹.字符设备.块设备.套接字都当做文件来对待.对于文件的操作,使用I/O函数,这里所说的I/O函数是指系统调用.大多数文件的I/O要用到这5个函数:open.r ...
- Dp_F Pku1157
<span style="color:#000099;">/* F - 简单dp Time Limit:1000MS Memory Limit:10000KB 64bi ...
- 持续集成并不能消除 Bug,而是让它们非常容易发现和改正(转)
互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称 CI). 本文简要介绍持续集成的概念和做法. 一.概念 持续集成指的是 ...
- Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用
原文:Eval().XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用 “/vs2005”应用程序中的服务器错误.--------------------------- ...
- 跳水Hibernate(一)实例解说
此语一与高二接触SSH三框架,但是,当能力有限.我们没有继续下行.今天,我们正在采取的优势Java金痴迷,随即再次上调,另一项研究SSH.让我们先从SSH中间Hibernate说起. 或许你会问.为什 ...
- 几个更新(Update声明)查询方法
积极 文化: 上的方法,数据库更新Update.的标准格式:Update 表名 set =值 where 条件只是依据数据的来源不同,还是有所差别的: 1.从外部输入这样的比較简单例:update ...
- oracle_修改Oracle数据库字符集 AL32UTF8;
修改数据库字符集 以支持维文等 utf8 停掉库 进入装载模式 ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER SYSTEM SET JOB_QUEUE_ ...
- Swift得知——使用和分类功能(四)
Swift得知--使用和分类功能(四) 总结Swift该功能使用的总可分为七类 1 ---- 没有返回值,没有參数的函数 2 ---- 有參数和返回值的函数 3 ---- 使用元祖来返回多个值 4 - ...