必须用root安装
1、安装RVM,RVM用于安装ruby
检查版本:
[root@jifeng03 ~]# rvm -v
-bash: rvm: command not found
[root@jifeng03 ~]# yum install rvm
[root@jifeng03 ~]# yum install rvm
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
* base: ftp.sjtu.edu.cn
* extras: ftp.sjtu.edu.cn
* updates: ftp.sjtu.edu.cn
Updates-ambari-1.6.1 | 2.9 kB 00:00
ambari-1.x | 1.3 kB 00:00
base | 3.7 kB 00:00
base/primary_db | 3.6 MB 00:11
extras | 3.3 kB 00:00
extras/primary_db | 28 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 800 kB 00:01
Setting up Install Process
No package rvm available.
Error: Nothing to do
[root@jifeng02 ~]# rvm -v
rvm 1.26.3 (latest) by Wayne E. Seguin , Michal Papis [https://rvm.io/]
[root@jifeng03 ~]#
2:安装ruby 2.0.0
[root@jifeng03 ~]# rvm install 2.0.0
Searching for binary rubies, this might take some time.
No binary rubies available for: centos/6/i386/ruby-2.0.0-p598.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for centos.
Installing requirements for centos.
Updating system.
Installing required packages: libyaml-devel, libffi-devel......
Requirements installation successful.
Installing Ruby from source to: /usr/local/rvm/rubies/ruby-2.0.0-p598, this may take a while depending on your cpu(s)...
ruby-2.0.0-p598 - #downloading ruby-2.0.0-p598, this may take a while depending on your connection...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 10.2M 100 10.2M 0 0 92215 0 0:01:56 0:01:56 --:--:-- 57836
ruby-2.0.0-p598 - #extracting ruby-2.0.0-p598 to /usr/local/rvm/src/ruby-2.0.0-p598....
ruby-2.0.0-p598 - #applying patch /usr/local/rvm/patches/ruby/ssl_no_ec2m.patch.
ruby-2.0.0-p598 - #configuring..................................................
ruby-2.0.0-p598 - #post-configuration..
ruby-2.0.0-p598 - #compiling.............................................................................
ruby-2.0.0-p598 - #installing..............................
ruby-2.0.0-p598 - #making binaries executable..
ruby-2.0.0-p598 - #downloading rubygems-2.4.4
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 433k 100 433k 0 0 95392 0 0:00:04 0:00:04 --:--:-- 176k
No checksum for downloaded archive, recording checksum in user configuration.
ruby-2.0.0-p598 - #extracting rubygems-2.4.4....
ruby-2.0.0-p598 - #removing old rubygems.........
ruby-2.0.0-p598 - #installing rubygems-2.4.4..............
ruby-2.0.0-p598 - #gemset created /usr/local/rvm/gems/ruby-2.0.0-p598@global
ruby-2.0.0-p598 - #importing gemset /usr/local/rvm/gemsets/global.gems...........................................................
ruby-2.0.0-p598 - #generating global wrappers........
ruby-2.0.0-p598 - #gemset created /usr/local/rvm/gems/ruby-2.0.0-p598
ruby-2.0.0-p598 - #importing gemsetfile /usr/local/rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.0.0-p598 - #generating default wrappers........
ruby-2.0.0-p598 - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
Install of ruby-2.0.0-p598 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri
[root@jifeng03 ~]# ruby -v
ruby 2.0.0p598 (2014-11-13 revision 48408) [i686-linux]
[root@jifeng03 ~]# gem -v
2.4.4
4:安装rails
gem install rails
[root@jifeng03 ~]# gem install rails
Fetching: thread_safe-0.3.4.gem (100%)
Successfully installed thread_safe-0.3.4
Fetching: minitest-5.4.3.gem (100%)
Successfully installed minitest-5.4.3
Fetching: tzinfo-1.2.2.gem (100%)
Successfully installed tzinfo-1.2.2
Fetching: i18n-0.6.11.gem (100%)
Successfully installed i18n-0.6.11
Fetching: activesupport-4.1.8.gem (100%)
Successfully installed activesupport-4.1.8
Fetching: erubis-2.7.0.gem (100%)
Successfully installed erubis-2.7.0
Fetching: builder-3.2.2.gem (100%)
Successfully installed builder-3.2.2
Fetching: actionview-4.1.8.gem (100%)
Successfully installed actionview-4.1.8
Fetching: rack-1.5.2.gem (100%)
Successfully installed rack-1.5.2
Fetching: rack-test-0.6.2.gem (100%)
Successfully installed rack-test-0.6.2
Fetching: actionpack-4.1.8.gem (100%)
Successfully installed actionpack-4.1.8
Fetching: tilt-1.4.1.gem (100%)
Successfully installed tilt-1.4.1
Fetching: multi_json-1.10.1.gem (100%)
Successfully installed multi_json-1.10.1
Fetching: hike-1.2.3.gem (100%)
Successfully installed hike-1.2.3
Fetching: sprockets-2.12.3.gem (100%)
Successfully installed sprockets-2.12.3
Fetching: sprockets-rails-2.2.0.gem (100%)
Successfully installed sprockets-rails-2.2.0
Fetching: thor-0.19.1.gem (100%)
Successfully installed thor-0.19.1
Fetching: railties-4.1.8.gem (100%)
Successfully installed railties-4.1.8
Fetching: mime-types-2.4.3.gem (100%)
Successfully installed mime-types-2.4.3
Fetching: mail-2.6.3.gem (100%)
Successfully installed mail-2.6.3
Fetching: actionmailer-4.1.8.gem (100%)
Successfully installed actionmailer-4.1.8
Fetching: arel-5.0.1.20140414130214.gem (100%)
Successfully installed arel-5.0.1.20140414130214
Fetching: activemodel-4.1.8.gem (100%)
Successfully installed activemodel-4.1.8
Fetching: activerecord-4.1.8.gem (100%)
Successfully installed activerecord-4.1.8
Fetching: rails-4.1.8.gem (100%)
Successfully installed rails-4.1.8
Parsing documentation for thread_safe-0.3.4
Installing ri documentation for thread_safe-0.3.4
Parsing documentation for minitest-5.4.3
Installing ri documentation for minitest-5.4.3
Parsing documentation for tzinfo-1.2.2
Installing ri documentation for tzinfo-1.2.2
Parsing documentation for i18n-0.6.11
Installing ri documentation for i18n-0.6.11
Parsing documentation for activesupport-4.1.8
unable to convert "\x80" from ASCII-8BIT to UTF-8 for lib/active_support/values/unicode_tables.dat, skipping
Installing ri documentation for activesupport-4.1.8
Parsing documentation for erubis-2.7.0
Installing ri documentation for erubis-2.7.0
Parsing documentation for builder-3.2.2
Installing ri documentation for builder-3.2.2
Parsing documentation for actionview-4.1.8
Installing ri documentation for actionview-4.1.8
Parsing documentation for rack-1.5.2
Installing ri documentation for rack-1.5.2
Parsing documentation for rack-test-0.6.2
Installing ri documentation for rack-test-0.6.2
Parsing documentation for actionpack-4.1.8
Installing ri documentation for actionpack-4.1.8
Parsing documentation for tilt-1.4.1
Installing ri documentation for tilt-1.4.1
Parsing documentation for multi_json-1.10.1
Installing ri documentation for multi_json-1.10.1
Parsing documentation for hike-1.2.3
Installing ri documentation for hike-1.2.3
Parsing documentation for sprockets-2.12.3
Installing ri documentation for sprockets-2.12.3
Parsing documentation for sprockets-rails-2.2.0
Installing ri documentation for sprockets-rails-2.2.0
Parsing documentation for thor-0.19.1
Installing ri documentation for thor-0.19.1
Parsing documentation for railties-4.1.8
Installing ri documentation for railties-4.1.8
Parsing documentation for mime-types-2.4.3
Installing ri documentation for mime-types-2.4.3
Parsing documentation for mail-2.6.3
Installing ri documentation for mail-2.6.3
Parsing documentation for actionmailer-4.1.8
Installing ri documentation for actionmailer-4.1.8
Parsing documentation for arel-5.0.1.20140414130214
Installing ri documentation for arel-5.0.1.20140414130214
Parsing documentation for activemodel-4.1.8
Installing ri documentation for activemodel-4.1.8
Parsing documentation for activerecord-4.1.8
Installing ri documentation for activerecord-4.1.8
Parsing documentation for rails-4.1.8
unable to convert "\xFF" from ASCII-8BIT to UTF-8 for guides/assets/images/akshaysurve.jpg, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/belongs_to.png, skipping
unable to convert "\xF4" from ASCII-8BIT to UTF-8 for guides/assets/images/book_icon.gif, skipping
unable to convert "\x91" from ASCII-8BIT to UTF-8 for guides/assets/images/bullet.gif, skipping
unable to convert "\xF5" from ASCII-8BIT to UTF-8 for guides/assets/images/chapters_icon.gif, skipping
unable to convert "\xF5" from ASCII-8BIT to UTF-8 for guides/assets/images/check_bullet.gif, skipping
unable to convert "\xF4" from ASCII-8BIT to UTF-8 for guides/assets/images/credits_pic_blank.gif, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/csrf.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/edge_badge.png, skipping
unable to convert "\x9E" from ASCII-8BIT to UTF-8 for guides/assets/images/favicon.ico, skipping
unable to convert "\xF0" from ASCII-8BIT to UTF-8 for guides/assets/images/feature_tile.gif, skipping
unable to convert "\xF0" from ASCII-8BIT to UTF-8 for guides/assets/images/footer_tile.gif, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/fxn.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/article_with_comments.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/challenge.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/confirm_dialog.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/forbidden_attributes_for_new_article.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/form_with_errors.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/index_action_with_edit_link.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/new_article.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/rails_welcome.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/routing_error_no_controller.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/routing_error_no_route_matches.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/show_action_for_articles.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/template_is_missing_articles_new.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/unknown_action_create_for_articles.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/getting_started/unknown_action_new_for_articles.png, skipping
unable to convert "\xF0" from ASCII-8BIT to UTF-8 for guides/assets/images/grey_bullet.gif, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/habtm.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/has_many.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/has_many_through.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/has_one.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/has_one_through.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/header_backdrop.png, skipping
unable to convert "\xF0" from ASCII-8BIT to UTF-8 for guides/assets/images/header_tile.gif, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/i18n/demo_html_safe.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/i18n/demo_localized_pirate.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/i18n/demo_translated_en.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/i18n/demo_translated_pirate.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/i18n/demo_translation_missing.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/i18n/demo_untranslated.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/1.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/10.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/11.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/12.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/13.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/14.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/15.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/2.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/3.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/4.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/5.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/6.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/7.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/8.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/callouts/9.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/caution.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/example.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/home.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/important.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/next.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/note.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/prev.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/tip.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/up.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/icons/warning.png, skipping
unable to convert "\xF5" from ASCII-8BIT to UTF-8 for guides/assets/images/nav_arrow.gif, skipping
unable to convert "\xFF" from ASCII-8BIT to UTF-8 for guides/assets/images/oscardelben.jpg, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/polymorphic.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/radar.png, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/rails4_features.png, skipping
unable to convert "\xFF" from ASCII-8BIT to UTF-8 for guides/assets/images/rails_guides_kindle_cover.jpg, skipping
unable to convert "\xEC" from ASCII-8BIT to UTF-8 for guides/assets/images/rails_guides_logo.gif, skipping
unable to convert "\x8C" from ASCII-8BIT to UTF-8 for guides/assets/images/rails_logo_remix.gif, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/session_fixation.png, skipping
unable to convert "\x80" from ASCII-8BIT to UTF-8 for guides/assets/images/tab_grey.gif, skipping
unable to convert "\x80" from ASCII-8BIT to UTF-8 for guides/assets/images/tab_info.gif, skipping
unable to convert "\x80" from ASCII-8BIT to UTF-8 for guides/assets/images/tab_note.gif, skipping
unable to convert "\x80" from ASCII-8BIT to UTF-8 for guides/assets/images/tab_red.gif, skipping
unable to convert "\x80" from ASCII-8BIT to UTF-8 for guides/assets/images/tab_yellow.gif, skipping
unable to convert "\x89" from ASCII-8BIT to UTF-8 for guides/assets/images/tab_yellow.png, skipping
unable to convert "\xFF" from ASCII-8BIT to UTF-8 for guides/assets/images/vijaydev.jpg, skipping
Installing ri documentation for rails-4.1.8
25 gems installed
5:查看版本
[root@jifeng03 ~]# rails -v
Rails 4.1.8
[root@jifeng03 ~]# wget http://www.redmine.org/releases/redmine-2.6.0.tar.gz
--2014-11-18 09:15:34-- http://www.redmine.org/releases/redmine-2.6.0.tar.gz
正在解析主机 www.redmine.org... 46.4.36.71
正在连接 www.redmine.org|46.4.36.71|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2117270 (2.0M) [application/x-gzip]
正在保存至: “redmine-2.6.0.tar.gz”
9% [====> ] 190,842 56.0K/s eta(英国中部时 9% [=====> ] 209,666 55.9K/s eta(英国中部时10% [=====> ] 227,042 55.5K/s eta(英国中部时11% [======> ] 242,970 54.8K/s eta(英国中部时12% [======> ] 260,346 54.5K/s eta(英国中部时13% [=======> ] 280,618 54.9K/s eta(英国中部时14% [========> ] 299,442 54.9K/s eta(英国中部时14% [========> ] 312,474 53.1K/s eta(英国中部时15% [========> ] 328,858 53.6K/s eta(英国中部时16% [=========> ] 345,778 53.4K/s eta(英国中部时17% [=========> ] 361,706 53.0K/s eta(英国中部时17% [==========> ] 380,530 54.8K/s eta(英国中部时18% [===========> ] 400,802 56.7K/s eta(英国中部时20% [============> ] 430,218 57.3K/s eta(英国中部时20% [============> ] 438,450 53.7K/s eta(英国中部时21% [============> ] 452,930 52.7K/s eta(英国中部时22% [=============> ] 468,858 50.9K/s eta(英国中部时23% [=============> ] 489,130 50.9K/s eta(英国中部时24% [==============> ] 509,402 51.6K/s eta(英国中部时24% [==============> ] 527,234 51.6K/s eta(英国中部时25% [===============> ] 549,946 50.1K/s eta(英国中部时26% [===============> ] 558,634 48.7K/s eta(英国中部时26% [================> ] 568,770 47.7K/s eta(英国中部时27% [================> ] 578,906 46.9K/s eta(英国中部时27% [================> ] 590,490 46.0K/s eta(英国中部时28% [=================> ] 603,522 45.0K/s eta(英国中部时29% [=================> ] 615,106 44.0K/s eta(英国中部时29% [==================> ] 629,586 44.0K/s eta(英国中部时30% [==================> ] 646,962 44.0K/s eta(英国中部时31% [===================> ] 665,786 43.1K/s eta(英国中部时32% [===================> ] 687,506 42.9K/s eta(英国中部时33% [====================> ] 713,570 45.9K/s eta(英国中部时34% [=====================> ] 733,842 47.7K/s eta(英国中部时35% [=====================> ] 751,218 47.2K/s eta(英国中部时37% [======================> ] 785,970 51.9K/s eta(英国中部时38% [=======================> ] 822,170 60.2K/s eta(英国中部时40% [========================> ] 849,682 68.5K/s eta(英国中部时42% [==========================> ] 894,570 79.5K/s eta(英国中部时44% [===========================> ] 943,802 92.1K/s eta(英国中部时46% [============================> ] 987,242 103K/s eta(英国中部时50% [===============================> ] 1,058,650 116K/s eta(英国中部时52% [================================> ] 1,120,458 129K/s eta(英国中部时54% [==================================> ] 1,162,450 136K/s eta(英国中部时55% [==================================> ] 1,179,826 135K/s eta(英国中部时57% [===================================> ] 1,217,474 140K/s eta(英国中部时61% [======================================> ] 1,293,226 139K/s eta(英国中部时65% [=========================================> ] 1,393,138 136K/s eta(英国中部时70% [===========================================> ] 1,482,458 152K/s eta(英国中部时71% [=============================================> ] 1,523,002 151K/s eta(英国中部时74% [==============================================> ] 1,571,242 145K/s eta(英国中部时76% [===============================================> ] 1,609,882 143K/s eta(英国中部时77% [================================================> ] 1,641,738 135K/s eta(英国中部时79% [=================================================> ] 1,676,490 134K/s eta(英国中部时80% [==================================================> ] 1,701,106 132K/s eta(英国中部时81% [==================================================> ] 1,715,586 124K/s eta(英国中部时82% [====================================================> ] 1,754,682 123K/s eta(英国中部时84% [=====================================================> ] 1,790,882 127K/s eta(英国中部时85% [=====================================================> ] 1,803,914 127K/s eta(英国中部时86% [======================================================> ] 1,828,986 122K/s eta(英国中部时88% [=======================================================> ] 1,872,426 119K/s eta(英国中部时89% [========================================================> ] 1,903,826 115K/s eta(英国中部时90% [========================================================> ] 1,916,858 118K/s eta(英国中部时91% [=========================================================> ] 1,928,442 114K/s eta(英国中部时92% [=========================================================> ] 1,948,714 94.5K/s eta(英国中部时93% [==========================================================> ] 1,970,434 95.5K/s eta(英国中部时93% [==========================================================> ] 1,977,674 90.2K/s eta(英国中部时94% [===========================================================> ] 1,993,602 91.9K/s eta(英国中部时95% [===========================================================> ] 2,015,322 86.6K/s eta(英国中部时95% [============================================================> ] 2,028,354 84.1K/s eta(英国中部时96% [============================================================> ] 2,041,386 81.0K/s eta(英国中部时97% [=============================================================> ] 2,060,210 82.4K/s eta(英国中部时97% [=============================================================> ] 2,067,450 77.1K/s eta(英国中部时98% [==============================================================> ] 2,086,274 75.1K/s eta(英国中部时99% [==============================================================> ] 2,105,098 75.6K/s eta(英国中部时99% [==============================================================> ] 2,113,786 69.6K/s eta(英国中部时100%[===============================================================>] 2,117,270 69.7K/s in 26s
2014-11-18 09:16:02 (79.0 KB/s) - 已保存 “redmine-2.6.0.tar.gz” [2117270/2117270])
[root@jifeng03 ~]# tar zxf redmine-2.6.0.tar.gz
You need to install Bundler first:
gem install bundler
bundle install --without development test rmagick
[root@jifeng03 ~]# cd redmine-2.6.0
[root@jifeng03 redmine-2.6.0]# ls
app config.ru db extra Gemfile log public README.rdoc test vendor
config CONTRIBUTING.md doc files lib plugins Rakefile script tmp
[root@jifeng03 redmine-2.6.0]# gem install bundler
Fetching: bundler-1.7.6.gem (100%)
Successfully installed bundler-1.7.6
Parsing documentation for bundler-1.7.6
Installing ri documentation for bundler-1.7.6
1 gem installed
[root@jifeng03 redmine-2.6.0]# bundle install --without development test rmagick
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root
will break this application for all non-root users on this machine.
Please configure your config/database.yml first
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Installing rake 10.3.2
Using i18n 0.6.11
Using multi_json 1.10.1
Installing activesupport 3.2.19
Installing builder 3.0.4
Installing activemodel 3.2.19
Using erubis 2.7.0
Installing journey 1.0.4
Installing rack 1.4.5
Installing rack-cache 1.2
Using rack-test 0.6.2
Using hike 1.2.3
Using tilt 1.4.1
Installing sprockets 2.2.3
Installing actionpack 3.2.19
Installing mime-types 1.25.1
Installing polyglot 0.3.5
Installing treetop 1.4.15
Installing mail 2.5.4
Installing actionmailer 3.2.19
Installing arel 3.0.3
Installing tzinfo 0.3.42
Installing activerecord 3.2.19
Installing activeresource 3.2.19
Using bundler 1.7.6
Installing coderay 1.1.0
Installing rack-ssl 1.3.4
Installing json 1.8.1
Installing rdoc 3.12.2
Using thor 0.19.1
Installing railties 3.2.19
Installing jquery-rails 3.1.2
Installing net-ldap 0.3.1
Installing ruby-openid 2.3.0
Installing rack-openid 1.4.2
Installing rails 3.2.19
Installing rbpdf 1.18.2
Installing redcarpet 2.3.0
Installing request_store 1.0.5
Your bundle is complete!
Gems in the groups development, test and rmagick were not installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
Post-install message from rdoc:
Depending on your version of ruby, you may need to install ruby rdoc/ri data:
<= 1.8.6 : unsupported
= 1.8.7 : gem install rdoc-data; rdoc-data --install
= 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
9:安装连接mysql的gem
[root@jifeng03 redmine-2.6.0]# gem install mysql2
Fetching: mysql2-0.3.17.gem (100%)
Building native extensions. This could take a while...
Successfully installed mysql2-0.3.17
Parsing documentation for mysql2-0.3.17
unable to convert "\xA4" from ASCII-8BIT to UTF-8 for /usr/local/rvm/gems/ruby-2.0.0-p598/extensions/x86-linux/2.0.0/mysql2-0.3.17/mysql2/mysql2.so, skipping
unable to convert "\xA4" from ASCII-8BIT to UTF-8 for lib/mysql2/mysql2.so, skipping
Installing ri documentation for mysql2-0.3.17
1 gem installed
登陆:mysql -u root -p
[dss@localhost ~]$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.6.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database redmine character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT all ON redmine.* TO dss@'%' IDENTIFIED BY 'xxxxxx';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
config/database.yml.example
到
config/database.yml
[root@jifeng03 redmine-2.6.0]# cp config/database.yml.example config/database.yml
[root@jifeng03 redmine-2.6.0]# cd config
[root@jifeng03 config]# ls
additional_environment.rb.example configuration.yml.example environment.rb locales settings.yml
application.rb database.yml environments preinitializer.rb
boot.rb database.yml.example initializers routes.rb
修改下面相应的部分
Example for a MySQL database using ruby 1.9 (adapter must be set to mysql2
):
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: my_password
[root@jifeng03 config]# cat database.yml
# Default setup is given for MySQL with ruby1.9. If you're running Redmine
# with MySQL and ruby1.8, replace the adapter name with `mysql`.
# Examples for PostgreSQL, SQLite3 and SQL Server can be found at the end.
# Line indentation must be 2 spaces (no tabs).
production:
adapter: mysql2
database: redmine
host: 10.6.3.xxx
username: dss
password: "xxxxx"
encoding: utf8
[root@jifeng03 redmine-2.6.0]# rake generate_secret_token
[root@jifeng03 redmine-2.6.0]# RAILS_ENV=production rake db:migrate
== Setup: migrating ==========================================================
-- create_table("attachments", {:force=>true})
-> 0.0143s
-- create_table("auth_sources", {:force=>true})
-> 0.0099s
-- create_table("custom_fields", {:force=>true})
-> 0.0105s
-- create_table("custom_fields_projects", {:id=>false, :force=>true})
-> 0.0094s
-- create_table("custom_fields_trackers", {:id=>false, :force=>true})
-> 0.0092s
-- create_table("custom_values", {:force=>true})
-> 0.0101s
-- create_table("documents", {:force=>true})
-> 0.0097s
-- add_index("documents", ["project_id"], {:name=>"documents_project_id"})
-> 0.0462s
-- create_table("enumerations", {:force=>true})
-> 0.0103s
-- create_table("issue_categories", {:force=>true})
-> 0.0101s
-- add_index("issue_categories", ["project_id"], {:name=>"issue_categories_project_id"})
-> 0.2005s
-- create_table("issue_histories", {:force=>true})
-> 0.1294s
-- add_index("issue_histories", ["issue_id"], {:name=>"issue_histories_issue_id"})
-> 0.0326s
-- create_table("issue_statuses", {:force=>true})
-> 0.0691s
-- create_table("issues", {:force=>true})
-> 0.0152s
-- add_index("issues", ["project_id"], {:name=>"issues_project_id"})
-> 0.0333s
-- create_table("members", {:force=>true})
-> 0.0119s
-- create_table("news", {:force=>true})
-> 0.0108s
-- add_index("news", ["project_id"], {:name=>"news_project_id"})
-> 0.0299s
-- create_table("permissions", {:force=>true})
-> 0.0749s
-- create_table("permissions_roles", {:id=>false, :force=>true})
-> 0.0564s
-- add_index("permissions_roles", ["role_id"], {:name=>"permissions_roles_role_id"})
-> 0.0915s
-- create_table("projects", {:force=>true})
-> 0.0662s
-- create_table("roles", {:force=>true})
-> 0.0671s
-- create_table("tokens", {:force=>true})
-> 0.0664s
-- create_table("trackers", {:force=>true})
-> 0.0668s
-- create_table("users", {:force=>true})
-> 0.0658s
-- create_table("versions", {:force=>true})
-> 0.0670s
-- add_index("versions", ["project_id"], {:name=>"versions_project_id"})
-> 0.0911s
-- create_table("workflows", {:force=>true})
-> 0.0669s
== Setup: migrated (1.9617s) =================================================
== IssueMove: migrating ======================================================
== IssueMove: migrated (0.0116s) =============================================
== IssueAddNote: migrating ===================================================
== IssueAddNote: migrated (0.0411s) ==========================================
== ExportPdf: migrating ======================================================
== ExportPdf: migrated (0.0137s) =============================================
== IssueStartDate: migrating =================================================
-- add_column(:issues, :start_date, :date)
-> 0.1458s
-- add_column(:issues, :done_ratio, :integer, {:default=>0, :null=>false})
-> 0.0403s
== IssueStartDate: migrated (0.1864s) ========================================
== CalendarAndActivity: migrating ============================================
== CalendarAndActivity: migrated (0.0278s) ===================================
== CreateJournals: migrating =================================================
-- create_table(:journals, {:force=>true})
-> 0.0107s
-- create_table(:journal_details, {:force=>true})
-> 0.0097s
-- add_index("journals", ["journalized_id", "journalized_type"], {:name=>"journals_journalized_id"})
-> 0.1637s
-- add_index("journal_details", ["journal_id"], {:name=>"journal_details_journal_id"})
-> 0.0322s
-- drop_table(:issue_histories)
-> 0.0035s
== CreateJournals: migrated (0.2524s) ========================================
== CreateUserPreferences: migrating ==========================================
-- create_table(:user_preferences)
-> 0.0100s
== CreateUserPreferences: migrated (0.0102s) =================================
== AddHideMailPref: migrating ================================================
-- add_column(:user_preferences, :hide_mail, :boolean, {:default=>false})
-> 0.0342s
== AddHideMailPref: migrated (0.0343s) =======================================
== CreateComments: migrating =================================================
-- create_table(:comments)
-> 0.0083s
== CreateComments: migrated (0.0084s) ========================================
== AddNewsCommentsCount: migrating ===========================================
-- add_column(:news, :comments_count, :integer, {:default=>0, :null=>false})
-> 0.0538s
== AddNewsCommentsCount: migrated (0.0539s) ==================================
== AddCommentsPermissions: migrating =========================================
== AddCommentsPermissions: migrated (0.0175s) ================================
== CreateQueries: migrating ==================================================
-- create_table(:queries, {:force=>true})
-> 0.0108s
== CreateQueries: migrated (0.0110s) =========================================
== AddQueriesPermissions: migrating ==========================================
== AddQueriesPermissions: migrated (0.0120s) =================================
== CreateRepositories: migrating =============================================
-- create_table(:repositories, {:force=>true})
-> 0.0184s
== CreateRepositories: migrated (0.0186s) ====================================
== AddRepositoriesPermissions: migrating =====================================
== AddRepositoriesPermissions: migrated (0.1570s) ============================
== CreateSettings: migrating =================================================
-- create_table(:settings, {:force=>true})
-> 0.0737s
== CreateSettings: migrated (0.0738s) ========================================
== SetDocAndFilesNotifications: migrating ====================================
== SetDocAndFilesNotifications: migrated (0.0444s) ===========================
== AddIssueStatusPosition: migrating =========================================
-- add_column(:issue_statuses, :position, :integer, {:default=>1})
-> 0.1931s
== AddIssueStatusPosition: migrated (0.2087s) ================================
== AddRolePosition: migrating ================================================
-- add_column(:roles, :position, :integer, {:default=>1})
-> 0.1494s
== AddRolePosition: migrated (0.1756s) =======================================
== AddTrackerPosition: migrating =============================================
-- add_column(:trackers, :position, :integer, {:default=>1})
-> 0.1695s
== AddTrackerPosition: migrated (0.2004s) ====================================
== SerializePossiblesValues: migrating =======================================
== SerializePossiblesValues: migrated (0.0064s) ==============================
== AddTrackerIsInRoadmap: migrating ==========================================
-- add_column(:trackers, :is_in_roadmap, :boolean, {:default=>true, :null=>false})
-> 0.0392s
== AddTrackerIsInRoadmap: migrated (0.0393s) =================================
== AddRoadmapPermission: migrating ===========================================
== AddRoadmapPermission: migrated (0.0146s) ==================================
== AddSearchPermission: migrating ============================================
== AddSearchPermission: migrated (0.0468s) ===================================
== AddRepositoryLoginAndPassword: migrating ==================================
-- add_column(:repositories, :login, :string, {:limit=>60, :default=>""})
-> 0.0360s
-- add_column(:repositories, :password, :string, {:limit=>60, :default=>""})
-> 0.0302s
== AddRepositoryLoginAndPassword: migrated (0.0666s) =========================
== CreateWikis: migrating ====================================================
-- create_table(:wikis)
-> 0.0192s
-- add_index(:wikis, :project_id, {:name=>:wikis_project_id})
-> 0.0337s
== CreateWikis: migrated (0.0531s) ===========================================
== CreateWikiPages: migrating ================================================
-- create_table(:wiki_pages)
-> 0.0098s
-- add_index(:wiki_pages, [:wiki_id, :title], {:name=>:wiki_pages_wiki_id_title})
-> 0.2012s
== CreateWikiPages: migrated (0.2112s) =======================================
== CreateWikiContents: migrating =============================================
-- create_table(:wiki_contents)
-> 0.0644s
-- add_index(:wiki_contents, :page_id, {:name=>:wiki_contents_page_id})
-> 0.0904s
-- create_table(:wiki_content_versions)
-> 0.0677s
-- add_index(:wiki_content_versions, :wiki_content_id, {:name=>:wiki_content_versions_wcid})
-> 0.1176s
== CreateWikiContents: migrated (0.3406s) ====================================
== AddProjectsFeedsPermissions: migrating ====================================
== AddProjectsFeedsPermissions: migrated (0.0250s) ===========================
== AddRepositoryRootUrl: migrating ===========================================
-- add_column(:repositories, :root_url, :string, {:limit=>255, :default=>""})
-> 0.1967s
== AddRepositoryRootUrl: migrated (0.1969s) ==================================
== CreateTimeEntries: migrating ==============================================
-- create_table(:time_entries)
-> 0.0667s
-- add_index(:time_entries, [:project_id], {:name=>:time_entries_project_id})
-> 0.0914s
-- add_index(:time_entries, [:issue_id], {:name=>:time_entries_issue_id})
-> 0.0330s
== CreateTimeEntries: migrated (0.1915s) =====================================
== AddTimelogPermissions: migrating ==========================================
== AddTimelogPermissions: migrated (0.0210s) =================================
== CreateChangesets: migrating ===============================================
-- create_table(:changesets)
-> 0.0840s
-- add_index(:changesets, [:repository_id, :revision], {:unique=>true, :name=>:changesets_repos_rev})
-> 0.0333s
== CreateChangesets: migrated (0.1176s) ======================================
== CreateChanges: migrating ==================================================
-- create_table(:changes)
-> 0.0730s
-- add_index(:changes, [:changeset_id], {:name=>:changesets_changeset_id})
-> 0.0903s
== CreateChanges: migrated (0.1637s) =========================================
== AddChangesetCommitDate: migrating =========================================
-- add_column(:changesets, :commit_date, :date)
-> 0.2227s
== AddChangesetCommitDate: migrated (0.2619s) ================================
== AddProjectIdentifier: migrating ===========================================
-- add_column(:projects, :identifier, :string, {:limit=>20})
-> 0.0364s
== AddProjectIdentifier: migrated (0.0365s) ==================================
== AddCustomFieldIsFilter: migrating =========================================
-- add_column(:custom_fields, :is_filter, :boolean, {:null=>false, :default=>false})
-> 0.0312s
== AddCustomFieldIsFilter: migrated (0.0313s) ================================
== CreateWatchers: migrating =================================================
-- create_table(:watchers)
-> 0.0109s
== CreateWatchers: migrated (0.0111s) ========================================
== CreateChangesetsIssues: migrating =========================================
-- create_table(:changesets_issues, {:id=>false})
-> 0.0093s
-- add_index(:changesets_issues, [:changeset_id, :issue_id], {:unique=>true, :name=>:changesets_issues_ids})
-> 0.0423s
== CreateChangesetsIssues: migrated (0.0519s) ================================
== RenameCommentToComments: migrating ========================================
== RenameCommentToComments: migrated (0.2572s) ===============================
== CreateIssueRelations: migrating ===========================================
-- create_table(:issue_relations)
-> 0.0182s
== CreateIssueRelations: migrated (0.0183s) ==================================
== AddRelationsPermissions: migrating ========================================
== AddRelationsPermissions: migrated (0.0151s) ===============================
== SetLanguageLengthToFive: migrating ========================================
-- change_column(:users, :language, :string, {:limit=>5, :default=>""})
-> 0.0183s
== SetLanguageLengthToFive: migrated (0.0184s) ===============================
== CreateBoards: migrating ===================================================
-- create_table(:boards)
-> 0.0087s
-- add_index(:boards, [:project_id], {:name=>:boards_project_id})
-> 0.0313s
== CreateBoards: migrated (0.0402s) ==========================================
== CreateMessages: migrating =================================================
-- create_table(:messages)
-> 0.0100s
-- add_index(:messages, [:board_id], {:name=>:messages_board_id})
-> 0.0309s
-- add_index(:messages, [:parent_id], {:name=>:messages_parent_id})
-> 0.0272s
== CreateMessages: migrated (0.0683s) ========================================
== AddBoardsPermissions: migrating ===========================================
== AddBoardsPermissions: migrated (0.0331s) ==================================
== AllowNullVersionEffectiveDate: migrating ==================================
-- change_column(:versions, :effective_date, :date, {:default=>nil, :null=>true})
-> 0.0190s
== AllowNullVersionEffectiveDate: migrated (0.0192s) =========================
== AddWikiDestroyPagePermission: migrating ===================================
== AddWikiDestroyPagePermission: migrated (0.0109s) ==========================
== AddWikiAttachmentsPermissions: migrating ==================================
== AddWikiAttachmentsPermissions: migrated (0.0156s) =========================
== AddProjectStatus: migrating ===============================================
-- add_column(:projects, :status, :integer, {:default=>1, :null=>false})
-> 0.1861s
== AddProjectStatus: migrated (0.1862s) ======================================
== AddChangesRevision: migrating =============================================
-- add_column(:changes, :revision, :string)
-> 0.0496s
== AddChangesRevision: migrated (0.0497s) ====================================
== AddChangesBranch: migrating ===============================================
-- add_column(:changes, :branch, :string)
-> 0.0398s
== AddChangesBranch: migrated (0.0398s) ======================================
== AddChangesetsScmid: migrating =============================================
-- add_column(:changesets, :scmid, :string)
-> 0.0476s
== AddChangesetsScmid: migrated (0.0477s) ====================================
== AddRepositoriesType: migrating ============================================
-- add_column(:repositories, :type, :string)
-> 0.0335s
== AddRepositoriesType: migrated (0.0379s) ===================================
== AddRepositoriesChangesPermission: migrating ===============================
== AddRepositoriesChangesPermission: migrated (0.0119s) ======================
== AddVersionsWikiPageTitle: migrating =======================================
-- add_column(:versions, :wiki_page_title, :string)
-> 0.0526s
== AddVersionsWikiPageTitle: migrated (0.0527s) ==============================
== AddIssueCategoriesAssignedToId: migrating =================================
-- add_column(:issue_categories, :assigned_to_id, :integer)
-> 0.0470s
== AddIssueCategoriesAssignedToId: migrated (0.0473s) ========================
== AddRolesAssignable: migrating =============================================
-- add_column(:roles, :assignable, :boolean, {:default=>true})
-> 0.0353s
== AddRolesAssignable: migrated (0.0354s) ====================================
== ChangeChangesetsCommitterLimit: migrating =================================
-- change_column(:changesets, :committer, :string, {:limit=>nil})
-> 0.0580s
== ChangeChangesetsCommitterLimit: migrated (0.0581s) ========================
== AddRolesBuiltin: migrating ================================================
-- add_column(:roles, :builtin, :integer, {:default=>0, :null=>false})
-> 0.0415s
== AddRolesBuiltin: migrated (0.0416s) =======================================
== InsertBuiltinRoles: migrating =============================================
== InsertBuiltinRoles: migrated (0.1132s) ====================================
== AddRolesPermissions: migrating ============================================
-- add_column(:roles, :permissions, :text)
-> 0.0898s
== AddRolesPermissions: migrated (0.0899s) ===================================
== DropPermissions: migrating ================================================
-- drop_table(:permissions)
-> 0.0038s
-- drop_table(:permissions_roles)
-> 0.0028s
== DropPermissions: migrated (0.0069s) =======================================
== AddSettingsUpdatedOn: migrating ===========================================
-- add_column(:settings, :updated_on, :timestamp)
-> 0.0385s
== AddSettingsUpdatedOn: migrated (0.0902s) ==================================
== AddCustomValueCustomizedIndex: migrating ==================================
-- add_index(:custom_values, [:customized_type, :customized_id], {:name=>:custom_values_customized})
-> 0.0340s
== AddCustomValueCustomizedIndex: migrated (0.0341s) =========================
== CreateWikiRedirects: migrating ============================================
-- create_table(:wiki_redirects)
-> 0.0100s
-- add_index(:wiki_redirects, [:wiki_id, :title], {:name=>:wiki_redirects_wiki_id_title})
-> 0.0319s
== CreateWikiRedirects: migrated (0.0421s) ===================================
== CreateEnabledModules: migrating ===========================================
-- create_table(:enabled_modules)
-> 0.0082s
-- add_index(:enabled_modules, [:project_id], {:name=>:enabled_modules_project_id})
-> 0.1900s
== CreateEnabledModules: migrated (0.2039s) ==================================
== AddIssuesEstimatedHours: migrating ========================================
-- add_column(:issues, :estimated_hours, :float)
-> 0.0511s
== AddIssuesEstimatedHours: migrated (0.0512s) ===============================
== ChangeAttachmentsContentTypeLimit: migrating ==============================
-- change_column(:attachments, :content_type, :string, {:limit=>nil})
-> 0.0248s
== ChangeAttachmentsContentTypeLimit: migrated (0.0249s) =====================
== AddQueriesColumnNames: migrating ==========================================
-- add_column(:queries, :column_names, :text)
-> 0.0377s
== AddQueriesColumnNames: migrated (0.0378s) =================================
== AddEnumerationsPosition: migrating ========================================
-- add_column(:enumerations, :position, :integer, {:default=>1})
-> 0.0429s
== AddEnumerationsPosition: migrated (0.0644s) ===============================
== AddEnumerationsIsDefault: migrating =======================================
-- add_column(:enumerations, :is_default, :boolean, {:default=>false, :null=>false})
-> 0.0394s
== AddEnumerationsIsDefault: migrated (0.0395s) ==============================
== AddAuthSourcesTls: migrating ==============================================
-- add_column(:auth_sources, :tls, :boolean, {:default=>false, :null=>false})
-> 0.0468s
== AddAuthSourcesTls: migrated (0.0469s) =====================================
== AddMembersMailNotification: migrating =====================================
-- add_column(:members, :mail_notification, :boolean, {:default=>false, :null=>false})
-> 0.0805s
== AddMembersMailNotification: migrated (0.0806s) ============================
== AllowNullPosition: migrating ==============================================
-- change_column(:issue_statuses, :position, :integer, {:default=>1, :null=>true})
-> 0.0059s
-- change_column(:roles, :position, :integer, {:default=>1, :null=>true})
-> 0.0055s
-- change_column(:trackers, :position, :integer, {:default=>1, :null=>true})
-> 0.0053s
-- change_column(:boards, :position, :integer, {:default=>1, :null=>true})
-> 0.0051s
-- change_column(:enumerations, :position, :integer, {:default=>1, :null=>true})
-> 0.0056s
== AllowNullPosition: migrated (0.0278s) =====================================
== RemoveIssueStatusesHtmlColor: migrating ===================================
-- remove_column(:issue_statuses, :html_color)
-> 0.1601s
== RemoveIssueStatusesHtmlColor: migrated (0.1601s) ==========================
== AddCustomFieldsPosition: migrating ========================================
-- add_column(:custom_fields, :position, :integer, {:default=>1})
-> 0.0387s
== AddCustomFieldsPosition: migrated (0.0402s) ===============================
== AddUserPreferencesTimeZone: migrating =====================================
-- add_column(:user_preferences, :time_zone, :string)
-> 0.0388s
== AddUserPreferencesTimeZone: migrated (0.0389s) ============================
== AddUsersType: migrating ===================================================
-- add_column(:users, :type, :string)
-> 0.0899s
== AddUsersType: migrated (0.0939s) ==========================================
== CreateProjectsTrackers: migrating =========================================
-- create_table(:projects_trackers, {:id=>false})
-> 0.0073s
-- add_index(:projects_trackers, :project_id, {:name=>:projects_trackers_project_id})
-> 0.0294s
== CreateProjectsTrackers: migrated (0.0403s) ================================
== AddMessagesLocked: migrating ==============================================
-- add_column(:messages, :locked, :boolean, {:default=>false})
-> 0.1434s
== AddMessagesLocked: migrated (0.1436s) =====================================
== AddMessagesSticky: migrating ==============================================
-- add_column(:messages, :sticky, :integer, {:default=>0})
-> 0.1008s
== AddMessagesSticky: migrated (0.1010s) =====================================
== ChangeAuthSourcesAccountLimit: migrating ==================================
-- change_column(:auth_sources, :account, :string, {:limit=>nil})
-> 0.0280s
== ChangeAuthSourcesAccountLimit: migrated (0.0281s) =========================
== AddRoleTrackerOldStatusIndexToWorkflows: migrating ========================
-- add_index(:workflows, [:role_id, :tracker_id, :old_status_id], {:name=>:wkfs_role_tracker_old_status})
-> 0.0328s
== AddRoleTrackerOldStatusIndexToWorkflows: migrated (0.0329s) ===============
== AddCustomFieldsSearchable: migrating ======================================
-- add_column(:custom_fields, :searchable, :boolean, {:default=>false})
-> 0.0713s
== AddCustomFieldsSearchable: migrated (0.0714s) =============================
== ChangeProjectsDescriptionToText: migrating ================================
-- change_column(:projects, :description, :text, {:null=>true, :default=>nil})
-> 0.0234s
== ChangeProjectsDescriptionToText: migrated (0.0235s) =======================
== AddCustomFieldsDefaultValue: migrating ====================================
-- add_column(:custom_fields, :default_value, :text)
-> 0.0460s
== AddCustomFieldsDefaultValue: migrated (0.0463s) ===========================
== AddAttachmentsDescription: migrating ======================================
-- add_column(:attachments, :description, :string)
-> 0.0539s
== AddAttachmentsDescription: migrated (0.0541s) =============================
== ChangeVersionsNameLimit: migrating ========================================
-- change_column(:versions, :name, :string, {:limit=>nil})
-> 0.0208s
== ChangeVersionsNameLimit: migrated (0.0210s) ===============================
== ChangeChangesetsRevisionToString: migrating ===============================
-- index_exists?(:changesets, [:repository_id, :revision], {:name=>:changesets_repos_rev})
-> 0.0017s
-- remove_index(:changesets, {:name=>:changesets_repos_rev})
-> 0.0051s
-- index_exists?(:changesets, [:repository_id, :revision], {:name=>:altered_changesets_repos_rev})
-> 0.0015s
-- change_column(:changesets, :revision, :string, {:null=>false})
-> 0.0192s
-- add_index(:changesets, [:repository_id, :revision], {:unique=>true, :name=>:changesets_repos_rev})
-> 0.0353s
== ChangeChangesetsRevisionToString: migrated (0.0635s) ======================
== ChangeChangesFromRevisionToString: migrating ==============================
-- change_column(:changes, :from_revision, :string)
-> 0.0214s
== ChangeChangesFromRevisionToString: migrated (0.0215s) =====================
== AddWikiPagesProtected: migrating ==========================================
-- add_column(:wiki_pages, :protected, :boolean, {:default=>false, :null=>false})
-> 0.0536s
== AddWikiPagesProtected: migrated (0.0537s) =================================
== ChangeProjectsHomepageLimit: migrating ====================================
-- change_column(:projects, :homepage, :string, {:limit=>nil, :default=>""})
-> 0.0195s
== ChangeProjectsHomepageLimit: migrated (0.0197s) ===========================
== AddWikiPagesParentId: migrating ===========================================
-- add_column(:wiki_pages, :parent_id, :integer, {:default=>nil})
-> 0.0592s
== AddWikiPagesParentId: migrated (0.0594s) ==================================
== AddCommitAccessPermission: migrating ======================================
== AddCommitAccessPermission: migrated (0.0032s) =============================
== AddViewWikiEditsPermission: migrating =====================================
== AddViewWikiEditsPermission: migrated (0.0035s) ============================
== SetTopicAuthorsAsWatchers: migrating ======================================
== SetTopicAuthorsAsWatchers: migrated (0.0391s) =============================
== AddDeleteWikiPagesAttachmentsPermission: migrating ========================
== AddDeleteWikiPagesAttachmentsPermission: migrated (0.0016s) ===============
== AddChangesetsUserId: migrating ============================================
-- add_column(:changesets, :user_id, :integer, {:default=>nil})
-> 0.0529s
== AddChangesetsUserId: migrated (0.0530s) ===================================
== PopulateChangesetsUserId: migrating =======================================
== PopulateChangesetsUserId: migrated (0.0007s) ==============================
== AddCustomFieldsEditable: migrating ========================================
-- add_column(:custom_fields, :editable, :boolean, {:default=>true})
-> 0.0359s
== AddCustomFieldsEditable: migrated (0.0360s) ===============================
== SetCustomFieldsEditable: migrating ========================================
== SetCustomFieldsEditable: migrated (0.0044s) ===============================
== AddProjectsLftAndRgt: migrating ===========================================
-- add_column(:projects, :lft, :integer)
-> 0.0386s
-- add_column(:projects, :rgt, :integer)
-> 0.0350s
== AddProjectsLftAndRgt: migrated (0.0739s) ==================================
== BuildProjectsTree: migrating ==============================================
== BuildProjectsTree: migrated (0.0175s) =====================================
== RemoveProjectsProjectsCount: migrating ====================================
-- remove_column(:projects, :projects_count)
-> 0.0397s
== RemoveProjectsProjectsCount: migrated (0.0398s) ===========================
== AddOpenIdAuthenticationTables: migrating ==================================
-- create_table(:open_id_authentication_associations, {:force=>true})
-> 0.0139s
-- create_table(:open_id_authentication_nonces, {:force=>true})
-> 0.0164s
== AddOpenIdAuthenticationTables: migrated (0.0306s) =========================
== AddIdentityUrlToUsers: migrating ==========================================
-- add_column(:users, :identity_url, :string)
-> 0.0391s
== AddIdentityUrlToUsers: migrated (0.0392s) =================================
== AddWatchersUserIdTypeIndex: migrating =====================================
-- add_index(:watchers, [:user_id, :watchable_type], {:name=>:watchers_user_id_type})
-> 0.0303s
== AddWatchersUserIdTypeIndex: migrated (0.0305s) ============================
== AddQueriesSortCriteria: migrating =========================================
-- add_column(:queries, :sort_criteria, :text)
-> 0.0408s
== AddQueriesSortCriteria: migrated (0.0410s) ================================
== AddProjectsTrackersUniqueIndex: migrating =================================
-- add_index(:projects_trackers, [:project_id, :tracker_id], {:name=>:projects_trackers_unique, :unique=>true})
-> 0.0511s
== AddProjectsTrackersUniqueIndex: migrated (0.0525s) ========================
== ExtendSettingsName: migrating =============================================
-- change_column(:settings, :name, :string, {:limit=>255, :default=>"", :null=>false})
-> 0.0220s
== ExtendSettingsName: migrated (0.0220s) ====================================
== AddTypeToEnumerations: migrating ==========================================
-- add_column(:enumerations, :type, :string)
-> 0.0418s
== AddTypeToEnumerations: migrated (0.0419s) =================================
== UpdateEnumerationsToSti: migrating ========================================
== UpdateEnumerationsToSti: migrated (0.0028s) ===============================
== AddActiveFieldToEnumerations: migrating ===================================
-- add_column(:enumerations, :active, :boolean, {:default=>true, :null=>false})
-> 0.0368s
== AddActiveFieldToEnumerations: migrated (0.0369s) ==========================
== AddProjectToEnumerations: migrating =======================================
-- add_column(:enumerations, :project_id, :integer, {:null=>true, :default=>nil})
-> 0.0385s
-- add_index(:enumerations, :project_id)
-> 0.0319s
== AddProjectToEnumerations: migrated (0.0706s) ==============================
== AddParentIdToEnumerations: migrating ======================================
-- add_column(:enumerations, :parent_id, :integer, {:null=>true, :default=>nil})
-> 0.0520s
== AddParentIdToEnumerations: migrated (0.0521s) =============================
== AddQueriesGroupBy: migrating ==============================================
-- add_column(:queries, :group_by, :string)
-> 0.0410s
== AddQueriesGroupBy: migrated (0.0411s) =====================================
== CreateMemberRoles: migrating ==============================================
-- create_table(:member_roles)
-> 0.0084s
== CreateMemberRoles: migrated (0.0088s) =====================================
== PopulateMemberRoles: migrating ============================================
== PopulateMemberRoles: migrated (0.0165s) ===================================
== DropMembersRoleId: migrating ==============================================
-- remove_column(:members, :role_id)
-> 0.0340s
== DropMembersRoleId: migrated (0.0340s) =====================================
== FixMessagesStickyNull: migrating ==========================================
== FixMessagesStickyNull: migrated (0.0013s) =================================
== PopulateUsersType: migrating ==============================================
== PopulateUsersType: migrated (0.0024s) =====================================
== CreateGroupsUsers: migrating ==============================================
-- create_table(:groups_users, {:id=>false})
-> 0.0080s
-- add_index(:groups_users, [:group_id, :user_id], {:unique=>true, :name=>:groups_users_ids})
-> 0.0375s
== CreateGroupsUsers: migrated (0.0457s) =====================================
== AddMemberRolesInheritedFrom: migrating ====================================
-- add_column(:member_roles, :inherited_from, :integer)
-> 0.0313s
== AddMemberRolesInheritedFrom: migrated (0.0314s) ===========================
== FixUsersCustomValues: migrating ===========================================
== FixUsersCustomValues: migrated (0.0056s) ==================================
== AddMissingIndexesToWorkflows: migrating ===================================
-- add_index(:workflows, :old_status_id)
-> 0.0327s
-- add_index(:workflows, :role_id)
-> 0.0235s
-- add_index(:workflows, :new_status_id)
-> 0.0250s
== AddMissingIndexesToWorkflows: migrated (0.0814s) ==========================
== AddMissingIndexesToCustomFieldsProjects: migrating ========================
-- add_index(:custom_fields_projects, [:custom_field_id, :project_id])
-> 0.0328s
== AddMissingIndexesToCustomFieldsProjects: migrated (0.0329s) ===============
== AddMissingIndexesToMessages: migrating ====================================
-- add_index(:messages, :last_reply_id)
-> 0.0310s
-- add_index(:messages, :author_id)
-> 0.0295s
== AddMissingIndexesToMessages: migrated (0.0607s) ===========================
== AddMissingIndexesToRepositories: migrating ================================
-- add_index(:repositories, :project_id)
-> 0.0278s
== AddMissingIndexesToRepositories: migrated (0.0279s) =======================
== AddMissingIndexesToComments: migrating ====================================
-- add_index(:comments, [:commented_id, :commented_type])
-> 0.0293s
-- add_index(:comments, :author_id)
-> 0.0285s
== AddMissingIndexesToComments: migrated (0.0580s) ===========================
== AddMissingIndexesToEnumerations: migrating ================================
-- add_index(:enumerations, [:id, :type])
-> 0.0333s
== AddMissingIndexesToEnumerations: migrated (0.0334s) =======================
== AddMissingIndexesToWikiPages: migrating ===================================
-- add_index(:wiki_pages, :wiki_id)
-> 0.0313s
-- add_index(:wiki_pages, :parent_id)
-> 0.0275s
== AddMissingIndexesToWikiPages: migrated (0.0590s) ==========================
== AddMissingIndexesToWatchers: migrating ====================================
-- add_index(:watchers, :user_id)
-> 0.0319s
-- add_index(:watchers, [:watchable_id, :watchable_type])
-> 0.0285s
== AddMissingIndexesToWatchers: migrated (0.0606s) ===========================
== AddMissingIndexesToAuthSources: migrating =================================
-- add_index(:auth_sources, [:id, :type])
-> 0.0333s
== AddMissingIndexesToAuthSources: migrated (0.0334s) ========================
== AddMissingIndexesToDocuments: migrating ===================================
-- add_index(:documents, :category_id)
-> 0.0315s
== AddMissingIndexesToDocuments: migrated (0.0316s) ==========================
== AddMissingIndexesToTokens: migrating ======================================
-- add_index(:tokens, :user_id)
-> 0.0222s
== AddMissingIndexesToTokens: migrated (0.0223s) =============================
== AddMissingIndexesToChangesets: migrating ==================================
-- add_index(:changesets, :user_id)
-> 0.0299s
-- add_index(:changesets, :repository_id)
-> 0.0219s
== AddMissingIndexesToChangesets: migrated (0.0519s) =========================
== AddMissingIndexesToIssueCategories: migrating =============================
-- add_index(:issue_categories, :assigned_to_id)
-> 0.0229s
== AddMissingIndexesToIssueCategories: migrated (0.0230s) ====================
== AddMissingIndexesToMemberRoles: migrating =================================
-- add_index(:member_roles, :member_id)
-> 0.0277s
-- add_index(:member_roles, :role_id)
-> 0.0272s
== AddMissingIndexesToMemberRoles: migrated (0.0551s) ========================
== AddMissingIndexesToBoards: migrating ======================================
-- add_index(:boards, :last_message_id)
-> 0.0243s
== AddMissingIndexesToBoards: migrated (0.0243s) =============================
== AddMissingIndexesToUserPreferences: migrating =============================
-- add_index(:user_preferences, :user_id)
-> 0.0286s
== AddMissingIndexesToUserPreferences: migrated (0.0289s) ====================
== AddMissingIndexesToIssues: migrating ======================================
-- add_index(:issues, :status_id)
-> 0.0250s
-- add_index(:issues, :category_id)
-> 0.0293s
-- add_index(:issues, :assigned_to_id)
-> 0.0228s
-- add_index(:issues, :fixed_version_id)
-> 0.0233s
-- add_index(:issues, :tracker_id)
-> 0.0235s
-- add_index(:issues, :priority_id)
-> 0.0257s
-- add_index(:issues, :author_id)
-> 0.0308s
== AddMissingIndexesToIssues: migrated (0.1811s) =============================
== AddMissingIndexesToMembers: migrating =====================================
-- add_index(:members, :user_id)
-> 0.0284s
-- add_index(:members, :project_id)
-> 0.0310s
== AddMissingIndexesToMembers: migrated (0.0596s) ============================
== AddMissingIndexesToCustomFields: migrating ================================
-- add_index(:custom_fields, [:id, :type])
-> 0.0292s
== AddMissingIndexesToCustomFields: migrated (0.0294s) =======================
== AddMissingIndexesToQueries: migrating =====================================
-- add_index(:queries, :project_id)
-> 0.0244s
-- add_index(:queries, :user_id)
-> 0.0305s
== AddMissingIndexesToQueries: migrated (0.0552s) ============================
== AddMissingIndexesToTimeEntries: migrating =================================
-- add_index(:time_entries, :activity_id)
-> 0.0229s
-- add_index(:time_entries, :user_id)
-> 0.0261s
== AddMissingIndexesToTimeEntries: migrated (0.0492s) ========================
== AddMissingIndexesToNews: migrating ========================================
-- add_index(:news, :author_id)
-> 0.0335s
== AddMissingIndexesToNews: migrated (0.0337s) ===============================
== AddMissingIndexesToUsers: migrating =======================================
-- add_index(:users, [:id, :type])
-> 0.0269s
-- add_index(:users, :auth_source_id)
-> 0.0319s
== AddMissingIndexesToUsers: migrated (0.0590s) ==============================
== AddMissingIndexesToAttachments: migrating =================================
-- add_index(:attachments, [:container_id, :container_type])
-> 0.0266s
-- add_index(:attachments, :author_id)
-> 0.0313s
== AddMissingIndexesToAttachments: migrated (0.0581s) ========================
== AddMissingIndexesToWikiContents: migrating ================================
-- add_index(:wiki_contents, :author_id)
-> 0.0268s
== AddMissingIndexesToWikiContents: migrated (0.0275s) =======================
== AddMissingIndexesToCustomValues: migrating ================================
-- add_index(:custom_values, :custom_field_id)
-> 0.0295s
== AddMissingIndexesToCustomValues: migrated (0.0296s) =======================
== AddMissingIndexesToJournals: migrating ====================================
-- add_index(:journals, :user_id)
-> 0.0275s
-- add_index(:journals, :journalized_id)
-> 0.1242s
== AddMissingIndexesToJournals: migrated (0.1519s) ===========================
== AddMissingIndexesToIssueRelations: migrating ==============================
-- add_index(:issue_relations, :issue_from_id)
-> 0.0354s
-- add_index(:issue_relations, :issue_to_id)
-> 0.0234s
== AddMissingIndexesToIssueRelations: migrated (0.0591s) =====================
== AddMissingIndexesToWikiRedirects: migrating ===============================
-- add_index(:wiki_redirects, :wiki_id)
-> 0.0272s
== AddMissingIndexesToWikiRedirects: migrated (0.0276s) ======================
== AddMissingIndexesToCustomFieldsTrackers: migrating ========================
-- add_index(:custom_fields_trackers, [:custom_field_id, :tracker_id])
-> 0.1738s
== AddMissingIndexesToCustomFieldsTrackers: migrated (0.1740s) ===============
== AddActivityIndexes: migrating =============================================
-- add_index(:journals, :created_on)
-> 0.0318s
-- add_index(:changesets, :committed_on)
-> 0.0286s
-- add_index(:wiki_content_versions, :updated_on)
-> 0.0333s
-- add_index(:messages, :created_on)
-> 0.0272s
-- add_index(:issues, :created_on)
-> 0.0302s
-- add_index(:news, :created_on)
-> 0.0229s
-- add_index(:attachments, :created_on)
-> 0.0285s
-- add_index(:documents, :created_on)
-> 0.0305s
-- add_index(:time_entries, :created_on)
-> 0.0234s
== AddActivityIndexes: migrated (0.2578s) ====================================
== AddVersionsStatus: migrating ==============================================
-- add_column(:versions, :status, :string, {:default=>"open"})
-> 0.0439s
== AddVersionsStatus: migrated (0.0467s) =====================================
== AddViewIssuesPermission: migrating ========================================
== AddViewIssuesPermission: migrated (0.0118s) ===============================
== AddDefaultDoneRatioToIssueStatus: migrating ===============================
-- add_column(:issue_statuses, :default_done_ratio, :integer)
-> 0.0339s
== AddDefaultDoneRatioToIssueStatus: migrated (0.0340s) ======================
== AddVersionsSharing: migrating =============================================
-- add_column(:versions, :sharing, :string, {:default=>"none", :null=>false})
-> 0.0557s
-- add_index(:versions, :sharing)
-> 0.0267s
== AddVersionsSharing: migrated (0.0828s) ====================================
== AddLftAndRgtIndexesToProjects: migrating ==================================
-- add_index(:projects, :lft)
-> 0.0296s
-- add_index(:projects, :rgt)
-> 0.0238s
== AddLftAndRgtIndexesToProjects: migrated (0.0536s) =========================
== AddIndexToSettingsName: migrating =========================================
-- add_index(:settings, :name)
-> 0.0283s
== AddIndexToSettingsName: migrated (0.0285s) ================================
== AddIndexesToIssueStatus: migrating ========================================
-- add_index(:issue_statuses, :position)
-> 0.0260s
-- add_index(:issue_statuses, :is_closed)
-> 0.4581s
-- add_index(:issue_statuses, :is_default)
-> 0.0353s
== AddIndexesToIssueStatus: migrated (0.5197s) ===============================
== RemoveEnumerationsOpt: migrating ==========================================
-- remove_column(:enumerations, :opt)
-> 0.0654s
== RemoveEnumerationsOpt: migrated (0.0655s) =================================
== ChangeWikiContentsTextLimit: migrating ====================================
-- change_column(:wiki_contents, :text, :text, {:limit=>16777216})
-> 0.0726s
-- change_column(:wiki_content_versions, :data, :binary, {:limit=>16777216})
-> 0.0244s
== ChangeWikiContentsTextLimit: migrated (0.0974s) ===========================
== ChangeUsersMailNotificationToString: migrating ============================
-- rename_column(:users, :mail_notification, :mail_notification_bool)
-> 0.0112s
-- add_column(:users, :mail_notification, :string, {:default=>"", :null=>false})
-> 0.0727s
-- remove_column(:users, :mail_notification_bool)
-> 0.0631s
== ChangeUsersMailNotificationToString: migrated (0.1531s) ===================
== UpdateMailNotificationValues: migrating ===================================
== UpdateMailNotificationValues: migrated (0.0007s) ==========================
== AddIndexOnChangesetsScmid: migrating ======================================
-- add_index(:changesets, [:repository_id, :scmid], {:name=>:changesets_repos_scmid})
-> 0.0333s
== AddIndexOnChangesetsScmid: migrated (0.0335s) =============================
== AddIssuesNestedSetsColumns: migrating =====================================
-- add_column(:issues, :parent_id, :integer, {:default=>nil})
-> 0.1941s
-- add_column(:issues, :root_id, :integer, {:default=>nil})
-> 0.1775s
-- add_column(:issues, :lft, :integer, {:default=>nil})
-> 0.1798s
-- add_column(:issues, :rgt, :integer, {:default=>nil})
-> 0.1741s
== AddIssuesNestedSetsColumns: migrated (0.8368s) ============================
== AddIndexOnIssuesNestedSet: migrating ======================================
-- add_index(:issues, [:root_id, :lft, :rgt])
-> 0.0350s
== AddIndexOnIssuesNestedSet: migrated (0.0352s) =============================
== ChangeChangesPathLengthLimit: migrating ===================================
-- change_column(:changes, :path, :text, {:default=>nil, :null=>true})
-> 0.0252s
-- change_column(:changes, :path, :text, {:null=>false})
-> 0.0522s
-- change_column(:changes, :from_path, :text)
-> 0.0248s
== ChangeChangesPathLengthLimit: migrated (0.1025s) ==========================
== EnableCalendarAndGanttModulesWhereAppropriate: migrating ==================
== EnableCalendarAndGanttModulesWhereAppropriate: migrated (0.0228s) =========
== AddUniqueIndexOnMembers: migrating ========================================
-- add_index(:members, [:user_id, :project_id], {:unique=>true})
-> 0.0350s
== AddUniqueIndexOnMembers: migrated (0.0415s) ===============================
== AddCustomFieldsVisible: migrating =========================================
-- add_column(:custom_fields, :visible, :boolean, {:null=>false, :default=>true})
-> 0.0533s
== AddCustomFieldsVisible: migrated (0.0549s) ================================
== ChangeProjectsNameLimit: migrating ========================================
-- change_column(:projects, :name, :string, {:limit=>nil, :default=>"", :null=>false})
-> 0.0285s
== ChangeProjectsNameLimit: migrated (0.0290s) ===============================
== ChangeProjectsIdentifierLimit: migrating ==================================
-- change_column(:projects, :identifier, :string, {:limit=>nil})
-> 0.0316s
== ChangeProjectsIdentifierLimit: migrated (0.0318s) =========================
== AddWorkflowsAssigneeAndAuthor: migrating ==================================
-- add_column(:workflows, :assignee, :boolean, {:null=>false, :default=>false})
-> 0.0966s
-- add_column(:workflows, :author, :boolean, {:null=>false, :default=>false})
-> 0.1742s
== AddWorkflowsAssigneeAndAuthor: migrated (0.3332s) =========================
== AddUsersSalt: migrating ===================================================
-- add_column(:users, :salt, :string, {:limit=>64})
-> 0.1128s
== AddUsersSalt: migrated (0.1129s) ==========================================
== SaltUserPasswords: migrating ==============================================
-- Salting user passwords, this may take some time...
-> 0.0474s
== SaltUserPasswords: migrated (0.0475s) =====================================
== AddRepositoriesPathEncoding: migrating ====================================
-- add_column(:repositories, :path_encoding, :string, {:limit=>64, :default=>nil})
-> 0.0517s
== AddRepositoriesPathEncoding: migrated (0.0518s) ===========================
== ChangeRepositoriesPasswordLimit: migrating ================================
-- change_column(:repositories, :password, :string, {:limit=>nil, :default=>""})
-> 0.0451s
== ChangeRepositoriesPasswordLimit: migrated (0.0452s) =======================
== ChangeAuthSourcesAccountPasswordLimit: migrating ==========================
-- change_column(:auth_sources, :account_password, :string, {:limit=>nil, :default=>""})
-> 0.0409s
== ChangeAuthSourcesAccountPasswordLimit: migrated (0.0415s) =================
== ChangeJournalDetailsValuesToText: migrating ===============================
-- change_column(:journal_details, :old_value, :text)
-> 0.0285s
-- change_column(:journal_details, :value, :text)
-> 0.0286s
== ChangeJournalDetailsValuesToText: migrated (0.0574s) ======================
== AddRepositoriesLogEncoding: migrating =====================================
-- add_column(:repositories, :log_encoding, :string, {:limit=>64, :default=>nil})
-> 0.0486s
== AddRepositoriesLogEncoding: migrated (0.0490s) ============================
== CopyRepositoriesLogEncoding: migrating ====================================
== CopyRepositoriesLogEncoding: migrated (0.0164s) ===========================
== AddIndexToUsersType: migrating ============================================
-- add_index(:users, :type)
-> 0.0903s
== AddIndexToUsersType: migrated (0.0904s) ===================================
== AddRolesIssuesVisibility: migrating =======================================
-- add_column(:roles, :issues_visibility, :string, {:limit=>30, :default=>"default", :null=>false})
-> 0.0768s
== AddRolesIssuesVisibility: migrated (0.0771s) ==============================
== AddIssuesIsPrivate: migrating =============================================
-- add_column(:issues, :is_private, :boolean, {:default=>false, :null=>false})
-> 0.2396s
== AddIssuesIsPrivate: migrated (0.2399s) ====================================
== AddRepositoriesExtraInfo: migrating =======================================
-- add_column(:repositories, :extra_info, :text)
-> 0.0539s
== AddRepositoriesExtraInfo: migrated (0.0541s) ==============================
== CreateChangesetParents: migrating =========================================
-- create_table(:changeset_parents, {:id=>false})
-> 0.0114s
-- add_index(:changeset_parents, [:changeset_id], {:unique=>false, :name=>:changeset_parents_changeset_ids})
-> 0.0336s
-- add_index(:changeset_parents, [:parent_id], {:unique=>false, :name=>:changeset_parents_parent_ids})
-> 0.0231s
== CreateChangesetParents: migrated (0.0683s) ================================
== AddUniqueIndexToIssueRelations: migrating =================================
-- add_index(:issue_relations, [:issue_from_id, :issue_to_id], {:unique=>true})
-> 0.0317s
== AddUniqueIndexToIssueRelations: migrated (0.0331s) ========================
== AddRepositoriesIdentifier: migrating ======================================
-- add_column(:repositories, :identifier, :string)
-> 0.1065s
== AddRepositoriesIdentifier: migrated (0.1067s) =============================
== AddRepositoriesIsDefault: migrating =======================================
-- add_column(:repositories, :is_default, :boolean, {:default=>false})
-> 0.0550s
== AddRepositoriesIsDefault: migrated (0.0554s) ==============================
== SetDefaultRepositories: migrating =========================================
== SetDefaultRepositories: migrated (0.0021s) ================================
== AddCustomFieldsMultiple: migrating ========================================
-- add_column(:custom_fields, :multiple, :boolean, {:default=>false})
-> 0.0551s
== AddCustomFieldsMultiple: migrated (0.0553s) ===============================
== ChangeUsersLoginLimit: migrating ==========================================
-- change_column(:users, :login, :string, {:limit=>nil, :default=>"", :null=>false})
-> 0.0284s
== ChangeUsersLoginLimit: migrated (0.0287s) =================================
== ChangeAttachmentsContainerDefaults: migrating =============================
-- remove_index(:attachments, [:container_id, :container_type])
-> 0.0065s
-- change_column(:attachments, :container_id, :integer, {:default=>nil, :null=>true})
-> 0.1361s
-- change_column(:attachments, :container_type, :string, {:limit=>30, :default=>nil, :null=>true})
-> 0.0715s
-- add_index(:attachments, [:container_id, :container_type])
-> 0.0704s
== ChangeAttachmentsContainerDefaults: migrated (0.2902s) ====================
== AddAuthSourcesFilter: migrating ===========================================
-- add_column(:auth_sources, :filter, :string)
-> 0.0518s
== AddAuthSourcesFilter: migrated (0.0522s) ==================================
== ChangeRepositoriesToFullSti: migrating ====================================
== ChangeRepositoriesToFullSti: migrated (0.0009s) ===========================
== AddTrackersFieldsBits: migrating ==========================================
-- add_column(:trackers, :fields_bits, :integer, {:default=>0})
-> 0.0776s
== AddTrackersFieldsBits: migrated (0.0778s) =================================
== AddAuthSourcesTimeout: migrating ==========================================
-- add_column(:auth_sources, :timeout, :integer)
-> 0.0500s
== AddAuthSourcesTimeout: migrated (0.0503s) =================================
== AddWorkflowsType: migrating ===============================================
-- add_column(:workflows, :type, :string, {:limit=>30})
-> 0.0970s
== AddWorkflowsType: migrated (0.0971s) ======================================
== UpdateWorkflowsToSti: migrating ===========================================
== UpdateWorkflowsToSti: migrated (0.0014s) ==================================
== AddWorkflowsRuleFields: migrating =========================================
-- add_column(:workflows, :field_name, :string, {:limit=>30})
-> 0.2063s
-- add_column(:workflows, :rule, :string, {:limit=>30})
-> 0.1076s
== AddWorkflowsRuleFields: migrated (0.3142s) ================================
== AddBoardsParentId: migrating ==============================================
-- add_column(:boards, :parent_id, :integer)
-> 0.1287s
== AddBoardsParentId: migrated (0.1288s) =====================================
== AddJournalsPrivateNotes: migrating ========================================
-- add_column(:journals, :private_notes, :boolean, {:default=>false, :null=>false})
-> 0.0960s
== AddJournalsPrivateNotes: migrated (0.0965s) ===============================
== AddEnumerationsPositionName: migrating ====================================
-- add_column(:enumerations, :position_name, :string, {:limit=>30})
-> 0.0634s
== AddEnumerationsPositionName: migrated (0.0636s) ===========================
== PopulateEnumerationsPositionName: migrating ===============================
== PopulateEnumerationsPositionName: migrated (0.0045s) ======================
== AddQueriesType: migrating =================================================
-- add_column(:queries, :type, :string)
-> 0.1878s
== AddQueriesType: migrated (0.1879s) ========================================
== UpdateQueriesToSti: migrating =============================================
== UpdateQueriesToSti: migrated (0.0270s) ====================================
== AddAttachmentsDiskDirectory: migrating ====================================
-- add_column(:attachments, :disk_directory, :string)
-> 0.0787s
== AddAttachmentsDiskDirectory: migrated (0.0788s) ===========================
== SplitDocumentsPermissions: migrating ======================================
== SplitDocumentsPermissions: migrated (0.0028s) =============================
== AddUniqueIndexOnTokensValue: migrating ====================================
-- Adding unique index on tokens, this may take some time...
-- add_index(:tokens, :value, {:unique=>true, :name=>"tokens_value"})
-> 0.1349s
-> 0.1433s
== AddUniqueIndexOnTokensValue: migrated (0.1433s) ===========================
== AddProjectsInheritMembers: migrating ======================================
-- add_column(:projects, :inherit_members, :boolean, {:default=>false, :null=>false})
-> 0.0651s
== AddProjectsInheritMembers: migrated (0.0653s) =============================
== AddUniqueIndexOnCustomFieldsTrackers: migrating ===========================
-- index_exists?(:custom_fields_trackers, [:custom_field_id, :tracker_id])
-> 0.0020s
-- remove_index(:custom_fields_trackers, [:custom_field_id, :tracker_id])
-> 0.0054s
-- add_index(:custom_fields_trackers, [:custom_field_id, :tracker_id], {:unique=>true})
-> 0.0397s
== AddUniqueIndexOnCustomFieldsTrackers: migrated (0.0490s) ==================
== AddUniqueIndexOnCustomFieldsProjects: migrating ===========================
-- index_exists?(:custom_fields_projects, [:custom_field_id, :project_id])
-> 0.0015s
-- remove_index(:custom_fields_projects, [:custom_field_id, :project_id])
-> 0.0057s
-- add_index(:custom_fields_projects, [:custom_field_id, :project_id], {:unique=>true})
-> 0.0702s
== AddUniqueIndexOnCustomFieldsProjects: migrated (0.0800s) ==================
== ChangeUsersLastnameLengthTo255: migrating =================================
-- change_column(:users, :lastname, :string, {:limit=>255, :default=>"", :null=>false})
-> 0.0309s
== ChangeUsersLastnameLengthTo255: migrated (0.0311s) ========================
== AddIssuesClosedOn: migrating ==============================================
-- add_column(:issues, :closed_on, :datetime, {:default=>nil})
-> 0.2523s
== AddIssuesClosedOn: migrated (0.2525s) =====================================
== PopulateIssuesClosedOn: migrating =========================================
== PopulateIssuesClosedOn: migrated (0.0018s) ================================
== RemoveIssuesDefaultFkValues: migrating ====================================
-- change_column_default(:issues, :tracker_id, nil)
-> 0.0110s
-- change_column_default(:issues, :project_id, nil)
-> 0.0100s
-- change_column_default(:issues, :status_id, nil)
-> 0.0088s
-- change_column_default(:issues, :assigned_to_id, nil)
-> 0.0090s
-- change_column_default(:issues, :priority_id, nil)
-> 0.0090s
-- change_column_default(:issues, :author_id, nil)
-> 0.0087s
== RemoveIssuesDefaultFkValues: migrated (0.0568s) ===========================
== CreateQueriesRoles: migrating =============================================
-- create_table(:queries_roles, {:id=>false})
-> 0.0091s
-- add_index(:queries_roles, [:query_id, :role_id], {:unique=>true, :name=>:queries_roles_ids})
-> 0.0395s
== CreateQueriesRoles: migrated (0.0488s) ====================================
== AddQueriesVisibility: migrating ===========================================
-- add_column(:queries, :visibility, :integer, {:default=>0})
-> 0.0633s
-- remove_column(:queries, :is_public)
-> 0.0647s
== AddQueriesVisibility: migrated (0.1332s) ==================================
== CreateCustomFieldsRoles: migrating ========================================
-- create_table(:custom_fields_roles, {:id=>false})
-> 0.0098s
-- add_index(:custom_fields_roles, [:custom_field_id, :role_id], {:unique=>true, :name=>:custom_fields_roles_ids})
-> 0.0344s
== CreateCustomFieldsRoles: migrated (0.0463s) ===============================
== AddQueriesOptions: migrating ==============================================
-- add_column(:queries, :options, :text)
-> 0.0642s
== AddQueriesOptions: migrated (0.0643s) =====================================
== AddUsersMustChangePasswd: migrating =======================================
-- add_column(:users, :must_change_passwd, :boolean, {:default=>false, :null=>false})
-> 0.0814s
== AddUsersMustChangePasswd: migrated (0.0815s) ==============================
== RemoveEolsFromAttachmentsFilename: migrating ==============================
== RemoveEolsFromAttachmentsFilename: migrated (0.0065s) =====================
== SupportForMultipleCommitKeywords: migrating ===============================
== SupportForMultipleCommitKeywords: migrated (0.0061s) ======================
== AddRepositoriesCreatedOn: migrating =======================================
-- add_column(:repositories, :created_on, :timestamp)
-> 0.0526s
== AddRepositoriesCreatedOn: migrated (0.0528s) ==============================
== AddCustomFieldsFormatStore: migrating =====================================
-- add_column(:custom_fields, :format_store, :text)
-> 0.0545s
== AddCustomFieldsFormatStore: migrated (0.0546s) ============================
== AddCustomFieldsDescription: migrating =====================================
-- add_column(:custom_fields, :description, :text)
-> 0.0498s
== AddCustomFieldsDescription: migrated (0.0499s) ============================
== RemoveCustomFieldsMinMaxLengthDefaultValues: migrating ====================
-- change_column(:custom_fields, :min_length, :int, {:default=>nil, :null=>true})
-> 0.0540s
-- change_column(:custom_fields, :max_length, :int, {:default=>nil, :null=>true})
-> 0.0522s
== RemoveCustomFieldsMinMaxLengthDefaultValues: migrated (0.1098s) ===========
== StoreRelationTypeInJournalDetails: migrating ==============================
== StoreRelationTypeInJournalDetails: migrated (0.0165s) =====================
== DeleteOrphanTimeEntriesCustomValues: migrating ============================
== DeleteOrphanTimeEntriesCustomValues: migrated (0.0020s) ===================
== ChangeChangesetsCommentsLimit: migrating ==================================
-- change_column(:changesets, :comments, :text, {:limit=>16777216})
-> 0.1015s
== ChangeChangesetsCommentsLimit: migrated (0.1017s) =========================
== AddPasswordChangedAtToUser: migrating =====================================
-- add_column(:users, :passwd_changed_on, :datetime)
-> 0.0918s
== AddPasswordChangedAtToUser: migrated (0.0920s) ============================
== InsertBuiltinGroups: migrating ============================================
== InsertBuiltinGroups: migrated (0.1549s) ===================================
14:装入默认的配置信息,输入zh(选择中文)
[root@jifeng03 redmine-2.6.0]# RAILS_ENV=production rake redmine:load_default_data
Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] zh
====================================
Default configuration data loaded.
[root@jifeng03 redmine-2.6.0]# ruby script/rails server webrick -e production
=> Booting WEBrick
=> Rails 3.2.19 application starting in production on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
后台运行
[root@jifeng03 redmine-2.6.0]# ruby script/rails server webrick -e production -d
=> Booting WEBrick
=> Rails 3.2.19 application starting in production on http://0.0.0.0:3000
[root@jifeng03 redmine-2.6.0]# which ruby
/usr/local/rvm/rubies/ruby-2.0.0-p598/bin/ruby
编辑启动文件
vi /etc/rc.local
最后一行或者适当的位置,加入一下内容。此处必须用绝对路径。注意根据实际redmine路径来填写。/usr/local/rvm/rubies/ruby-2.0.0-p598/bin/ruby /root/redmine-2.6.0/script/rails server webrick -e production -d