備忘録

プログラマの日々の業務の備忘録です

BitNami Redmine(Windows)を2.2.3から2.5.1にアップデート

BitNami Redmine(Windows)を2.2.3から2.5.1にアップデート

 

使いたいプラグインが2.3移行しか対応していなかったり、使っているプラグインの修正パッチが最新でコンパイルされていたりだったので、お手軽にインストールBitNami Redmineをアップデートしました。

【環境】

Windows Server 2012仮想マシン

【感想】

 

  • 意外と簡単
  • スナップショットは便利
  • 使っていないプラグインは事前に削除を行う
  • 使っているプラグインは新しいRedmineでも使えるか調査が必要
  • Redmine本体には手を入れない

 

【手順】

0.不要なプラグインは事前にアンインストールする

これが意外と重要です。プラグインの中にはRedmineの標準DBに変更を加えているモノもあり、プラグインが動作しなかった場合にRedmineが動作しない場合がありました。

1.DBバックアップを作成する

mysqldump -u root -p bitnami_redmine > backup.sql

求められるパスワードはBitNamiをインストール時に設定したモノです。特に文字コード指定などを設定しなくても大丈夫でした。

2.旧バージョン BitNami Redmineサービスを停止&削除する

インストールフォルダにある serviceinstall バッチをREMOVEオプションで実行します。

serviceinstall REMOVE

これでBitNami Redmineのサービスが停止し、Windowsサービスも削除される様です。この操作を行わないと、新バージョン BitNami Redmine のインストール時に「ポートが使われています」的なメッセージが表示してインストールが続行できません。

3.新バージョンBitNami Redmineをインストールする

インストーラーに不具合?があるようで、言語に日本語を指定すると途中で文字化けを発生します。言語には英語を指定して作業を行います。

4.新環境に合わせてパスを設定する

環境変数pathにrubyimagemagickへのパスを設定します。

5.データベースを移行する

1で作成したDBバックアップを復元します。

mysql -u root -p bitnami_redmine < backup.sql

次に db:migrate を実行します。bundlerが入っていなかったので gem で bundlerをインストールしておきます。

gem install bundler

bundle exec rake db:migrate RAILS_ENV='production'

== CreateCustomFieldsRoles: migrating ========================================

-- create_table(:custom_fields_roles, {:id=>false})

rake aborted!

An error has occurred, all later migrations canceled:

Mysql2::Error: Table 'custom_fields_roles' already exists: CREATE TABLE `custom_fields_roles` (`custom_field_id` int(11)

NOT NULL, `role_id` int(11) NOT NULL) ENGINE=InnoDBc:/BitNami/redmine-2.5.1-1/apps/redmine/htdocs/db/migrate/20130713104233_create_custom_fields_roles.rb:3:in `up'

C:in `migrate'

Tasks: TOP => db:migrate

(See full trace by running task with --trace)

既にtableがあるよ的なエラーでrakeを失敗しました。面倒なのでcustom_fields_rolesにはデータが無いことを確認してtableをdropしてしまいます。こんな感じで同じ様な失敗の場合はtableをdropしてrakeを実行します。

6.その他のデータ移行を行う

theme、plugins、filesをコピーします。

  • htdocs\plugins
  • htdocs\files
  • htdocs\public\themes
  • htdocs\config\configuration.yml(メール送信のSMTP設定のため)

最後にredmine:plugins:migrateを実行しておきます。

bundle exec rake rake redmine:plugins:migrate RAILS_ENV="production"

Complateとなれば完了です。最後にRedmineを再起動して動作を確認します。