Redmine をバージョン2.4.2 にアップグレード

これまで使っていたRedmine 2.2.2 を、2013年12月24日にリリースされたRedmine 2.4.2 にアップグレードしました。

Redmine 2.2系から見て、2.3系、2.4系はメジャーバージョンアップということになっています。

現行環境では、2.3系にはしていなかったので、Rubyのライブラリで不足やバージョン相違が数多くあり、それを解決する手順が必要となってしまいました。

それでは、アップグレードの手順を振り返っておきます。

1.バックアップ

現行Redmineをバックアップします。バックアップするものは、RedmineディレクトリとRedmineデータベースの二つ。
Redmineディレクトリはディレクトリを丸ごと別名でコピーするだけでいいでしょう。redmine.2.2.2というディレクトリ名でコピーします。

[root]# cp -pr /var/lib/redmine /var/lib/redmine.2.2.2

Redmineデータベースはmysqldumpを使います。

[root]# mysqldump -u root redmine | gzip > /root/backup/mysqldump/mysqldump_redmine_`date +%Y%m%d%H%M`.sql.gz
2.Redmineパッケージファイルのダウンロード

任意の作業用ディレクトリに、インストールするRedmine 2.4.2 のパッケージファイルをダウンロードします。詳しくはRedmineのホームページを確認してください。

[root]# wget http://www.redmine.org/releases/redmine-2.4.2.tar.gz
3.Redmineパッケージファイルのインストール

ここからは、Redmineパッケージファイルの解凍・展開、Redmineディレクトリの移動、ディレクトリ所有者の変更、Redmineデータベース設定ファイルの移行・変更、filesディレクトリ内のファイルのコピー、不要なファイルの削除を行います。
Redmineパッケージファイルの解凍・展開

[root]# tar xvfz redmine-2.4.2.tar.gz

Redmineディレクトリの移動

[root]# mv ./redmine-2.4.2 /var/lib/.

ディレクトリ所有者の変更

[root]# chown -R root:root /var/lib/redmine-2.4.2

Redmineデータベース設定ファイルの移行

[root]# cp -p /var/lib/redmine/config/database.yml /var/lib/redmine-2.4.2/config/.

Redmineデータベース設定ファイルの変更

# MySQL (default setup).

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: 3104hori
  encoding: utf8
↓

# MySQL (default setup).

production:
  adapter: mysql2 ← ここを変更
  database: redmine
  host: localhost
  username: redmine
  password: 3104hori
  encoding: utf8

filesディレクトリ内のファイルのコピー

[root]# cp -p ./redmine/files/* ./redmine-2.4.2/files/.

不要なファイルの削除

[root]# rm -f /var/lib/redmine-2.4.2/log/delete.me
[root]# rm -f /var/lib/redmine-2.4.2/files/delete.me

ここで、以前に、見つからないとエラーが出たproduction.logを作成しておきます。パーミッションも変更しておきます。

[root]# touch /var/lib/redmine-2.4.2/log/production.log
[root]# chmod 666 /var/lib/redmine-2.4.2/log/production.log
3.セッション管理用秘密鍵の作成
[root]# cd /var/lib/redmine-2.4.2
[root]# rake generate_secret_token
Could not find gem 'rails (= 3.2.16) ruby' in the gems available on this machine.
Run `bundle install` to install missing gems.

エラーが出たので、

[root]# bundle install
[root]# rake generate_secret_token
rake aborted!
You have already activated rake 10.0.3, but your Gemfile requires rake 10.1.1. Using bundle exec may solve this.
/var/lib/redmine-2.4.2/config/boot.rb:6
/var/lib/redmine-2.4.2/config/application.rb:1
/var/lib/redmine-2.4.2/Rakefile:5
(See full trace by running task with --trace)

今度はrakeのバージョンが合わない? それなら、

[root]# gem update rake
Updating installed gems
Updating rake
Fetching: rake-10.1.1.gem (100%)
Successfully installed rake-10.1.1
Gems updated: rake
Installing ri documentation for rake-10.1.1...
Building YARD (yri) index for rake-10.1.1...
Installing RDoc documentation for rake-10.1.1...
[root]# rake generate_secret_token
[root]# 

今度は成功。

4.SVNチェックアウトのアップグレード

Redmineのインストールディレクトリに移動して、以下のコマンドを実行します。

[root]# svn update
'.' を飛ばしました
[root]# 
5.データベースのマイグレーション
[root]# rake db:migrate RAILS_ENV="production"
6.プラグインのマイグレーション
[root]# rake db:migrate_plugins RAILS_ENV=production
7.クリーンナップ

キャッシュとセッションファイルのクリアを行います。

[root]# rake tmp:cache:clear
[root]# rake tmp:sessions:clear
8.httpdサーバの停止
[root]# service httpd stop
httpd を停止中:                                            [  OK  ]
9.Redmineディレクトリの置き換え

現行Redmineディレクトリ /var/lib/redmine と /var/lib/redmine-2.4.2 を置き換えます。

[root]# mv /var/lib/redmine /var/lib/redmine.bak ; mv /var/lib/redmine-2.4.2 /var/lib/redmine
10.httpdサーバの起動
[root]# service httpd start
httpd を起動中:                                            [  OK  ]
11.表示確認

Web画面を表示して、不足パッケージ示すエラーメッセージに「gem install パッケージ名 -v バージョン」もしくは「gem update パッケージ名 -v バージョン」を実行して、エラーを解消していきます。

12.テーマのインストール

これまでRedmine 2.2.2 でも使っていた「farend_fancy」をインストールします。

[root]# git clone git://github.com/farend/redmine_theme_farend_fancy.git public/themes/farend_fancy

Comments are closed.