CentOS 5.2 の Redmine 1.2.1 を 1.4.1 へアップデート

サーバに GitLab を入れたくなったけど Ruby1.9.2 以上必要とか言われたので、同じサーバにあった Redmine もついでにアップデートしたときのメモ

既存のRemdineをバックアップ

http://redmine.jp/guide/RedmineUpgrade/

ファイル/DBのバックアップ

# cd /var/www/html/redmine-1.2.1
# tar czf files.tar.gz files
# mv files.tar.gz /tmp
# cd /tmp
# mysqldump -u<user> -p<password> redmine > mysqldump_redmine_`date +%y%m%d`.sql

移行開始

Ruby1.9.3 のインストール

# cd /usr/local/src
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz
# tar xzf ruby-1.9.3
# cd ruby-1.9.3
# ./configure --prefix=/usr/local/ruby-1.9.3
# make
# make install
# cd /usr/local
# rm ruby
# ln -s /usr/local/ruby-1.9.3 ruby
# gem install bundler --no-rdoc --no-ri

Redmine1.4.1の導入

# cd /usr/local/src
# wget http://rubyforge.org/frs/download.php/76033/redmine-1.4.1.tar.gz
# tar xzf redmine-1.4.1.tar.gz
# mv redmine-1.4.1 /var/www/html/

設定ファイルなどをコピー

# cd /var/www/html/redmine-1.4.1
# cp ../redmine-1.2.1/config/configuration.yml config/
# cp ../redmine-1.2.1/config/database.yml config/
# cp ../redmine-1.2.1/filees/* files/

プラグインをコピー

# cp -r ../redmine-1.2.1/vendor/plugins/open_flash_chart vendor/plugins/
# cp -r ../redmine-1.2.1/vendor/plugins/parking_lot_chart vendor/plugins/
# cp -r ../redmine-1.2.1/vendor/plugins/redmine_all_time_team vendor/plugins/
# cp -r ../redmine-1.2.1/vendor/plugins/redmine_charts vendor/plugins/
# cp -r ../redmine-1.2.1/vendor/plugins/redmine_code_review vendor/plugins/
# cp -r ../redmine-1.2.1/vendor/plugins/redmine_issues_summary_graph vendor/plugins/
# cp -r ../redmine-1.2.1/vendor/plugins/redmine_roadmaps vendor/plugins/
# cp -r ../redmine-1.2.1/vendor/plugins/redmine_version_burndown_chart vendor/plugins/
# cp -r ../redmine-1.2.1/vendor/plugins/redmine_vividtone_my_page_blocks vendor/plugins/

必要ライブラリをインストール
*1

# gem install bundler --no-rdoc --no-ri
# cd /var/www/html/redmine-1.4.1
# bundle --without development test postgresql sqlite rmagick


諸々

# rake generate_session_store
# rake db:migrate RAILES_ENV="production"

mysql 関連で以下のようなメッセージが出て怒られる

!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
cannot load such file -- mysql

database設定を変更

# vim config/database.yaml
..
adapter: mysql
↓
adapter: mysql2
..

諸々の続き

# rake db:migrate RAILS_ENV="production"
# rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production
# rake db:migrate_plugins RAILS_ENV=production
# rake tmp:cache:clear
# rake tmp:sessions:clear
# cd ../
# ln -s /var/www/html/redmine-1.4.1 redmine
# chown webadmin:webadmin -R redmine-1.4.1

passengerインストール

# gem install passenger
# passenger-install-apache2-module
# vim /usr/local/apache/conf/httpd.conf
..
LoadModule passenger_module /usr/local/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/passenger-3.0.12/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/passenger-3.0.12
PassengerRuby /usr/local/ruby-1.9.3/bin/ruby
..

Apache再起動

# /etc/init.d/httpd restart

アクセスできたらOK

プロジェクトページに行ったら500エラーでコケる

redmine_codereview あたりでこけてるのでアップデート
http://haruiida.blogspot.jp/2012/02/redmine-code-review-plugin-047.html

version_burndown_chardもアップデート

# cd /var/www/html/redmine-1.4.1
# git clone git://github.com/drlongnecker/redmine_version_burndown_charts.git vendor/plugins/redmine_version_burndown_charts
# rake db:migrate_plugins RAILS_ENV=production

all_time_team, roadmapas, parking_lot_chartでエラー
git pull --rebase origin master してもダメ
特に使ってないので一旦外すことに
一応これで以前のように利用できるようになった

結局 version_burndown_chard を見ると以下のエラーでコケるけど、とりあえず今は放置*2

Open Flash Chart
JSON Parse Error 

*1:Rmagick 入れようとしたけどうまく入らなかったので budle で --without rmagick を追加することに

*2:未解決だけどとりあえず運用に支障はないのでよしとする