打包Redmine并部署到Tomcat: 本人请测成功步骤如下 我就不截图了 太麻烦了。
官网的安装说明也算比较清楚了,对各种情况都有比较好的说明。如果E文好,可以根据官网流程来。
因为我不是做Ruby开发,目前也没有这个打算改做这个,所以选择的都是一些基于JVM的东西,用起来顺手。
1.下载Redmine.
官网:http://www.redmine.org/
目前的最新版1.4.1(2012-4-20发布)。下载后解压,得到一个目录。
2.配置环境:
1.4.x以后的版本可以用jruby来支持,要求如下:
Redmine versionSupported Ruby versionsRequired Rails versionSupported RubyGems versionscurrent trunkruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7Rails 2.3.14RubyGems <= 1.81.4.xruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7Rails 2.3.14RubyGems <= 1.8(1)jruby
去http://jruby.org/download下载对应版本的jruby,解压到硬盘(一般都选择二进制包,懒得安装,我用的1.6.7.2)。
然后修改系统变量,把jruby的bin目录添加到path里。
(2)RubyGems
去https://rubyforge.org/frs/?group_id=126下载对应版本的RubyGems。
注意对于1.4.1的Redmine要求RubyGems版本不大于1.8。我下载的是1.8.0。
下到以后解压到硬盘,打开CMD,到RubyGems的目录下,输入:jruby setup.rb
安装完成后检查RubyGems版本用:gem -v
(3)Rails
这个已经包含在了Redmine的Gemfile里,可以用bundle搞定。
安装bundle的方法:gem install bundler
然后去Redmine所在的目录,输入:bundle install --without development test
这样Redmine所有需要的gem包就都安装好了,版本也和要求的一样。
如果有问题,去rubyforge找下载对应的gem包到本地安装。安装方法:gem install [gem包的文件名]
3.准备数据库:
Redmine目前支持MySql, PostgreSQL和sqlite三种数据库。
(官网也有支持Oracle的方法,但是貌似要改Ruby代码,懒得改,算了)
PostgreSQL没用过,MySql用的人应该比较多,Sqlite最简单。
(1)建立数据库:
MySql的配置:
create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'my_password';
grant all privileges on redmine.* to 'redmine'@'localhost';
如果是MySql 5.0.2以前的版本,用下面的脚本:
create database redmine character set utf8;
grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'my_password';
这样MySql里就多了一个Redmine的数据库用来存数据。
Sqlite可以跳过这个步骤,Redmine会自动建立Sqlite数据库文件的。
(2)在Redmine里配置数据库信息:
在Redmine/config目录里将database.yml.example文件复制并改名为database.yml并编辑内容。
文件里面下面以test开头的段是各种数据库配置的例子,复制并贴到production:下面再修改成自己用的数据库信息就可以了。
Mysql需要注意的是,如果是用的ruby1.9,需要把adapter改成mysql2。
4.配置Redmine:
(1)生成session存储密钥
用CMD在Redmine目录里输入:
rake generate_session_store
如果显示需要RDoc,用gem install安装。如果只显示这个而没有报其它错的话,说明成功了。可以进行下一步。
(2)在数据库中创建表结构:
rake db:migrate RAILS_ENV=production
可能需要安装libopenssl-ruby1.8来完成这个步骤。
(3)向表里插入初始数据:
这个步骤不是必需的,但强烈建议做,因为一个完全没有任何数据的数据库是看不出什么的。
即使想自己定义,也可以从这个数据的基础上再改。输入:
rake redmine:load_default_data RAILS_ENV=production
(4)设置权限:
如果是windows用户,可以跳过这一步。
运行Redmine必须包含以下目录:files, log, tmp,如果没有需要创建。
mkdir tmp public/plugin_assetssudo
chown -R redmine:redmine files log tmp public/plugin_assetssudo
chmod -R 755 files log tmp public/plugin_assets
到此,Redmine就算配置好了。可以用ruby自带的WEBrick服务器来试试:
jruby script/server webrick -e production
启动成功后打开浏览器,输入:http://localhost:3000就可以看到登陆界面了。默认账号:admin/admin
这时候还可以换换主题,换换LOGO,配置代码库,这些内容可以参考官网的HOWTO部分:
http://www.redmine.org/projects/redmine/wiki/HowTos
5. 打包并部署到Tomcat:
(1)安装用来打包的工具:
gem install warbler
(2)打war包:
在Redmine的目录下用CMD输入:
warble config
这样会在config目录下生成一个warble.rb的文件,编辑这个文件,找到config.dirs这一行,改成:
config.dirs = %w(app config lib log vendor tmp extra files lang)
包含你所有想打到包里的目录。如果是sqlite数据库,可能需要加上db目录,因为数据库文件是放到这里的:
config.dirs = %w(app config lib log vendor tmp extra files lang db)
然后把config.gems这一行的注释号去掉,改成:
config.gems += ["activerecord-jdbcmysql-adapter", "jruby-openssl", "i18n", "rack"]
保存文件,回到Redmine的目录,创建一个session存储密钥:
rake config/initializers/session_store.rb
最后用warble生成war包:
warble
这样就可以在Redmine目录里找到一个war包,把这个包放到Tomcat的webapps目录下,启动Tomcat服务器。
部署完成以后,就可以通过http://localhost:8080/Redmine去访问Redmine了。