Redmineのおすすめバージョンアップ手順

本記事では、Redmineのバージョンアップの手順についてまとめています。

Redmineのバージョンアップの流れ

Redmineのバージョンアップの方法は様々ありますが、おすすめの方法は、稼働している現在のRedmineとは別のマシンを準備し、そこに新しくRedmineをインストールして、稼働中のRedmineのデータを新しいRedmineに移行する方法です。大まかな流れは以下になります。

  1. 稼働中のRedmineとは別のマシンを用意し、新規でRedmineをインストールする
  2. 稼働中のRedmineのバックアップを取得する
  3. 新規でインストールしたRedmineに稼働中のRedmineのデータをリストアする
  4. 稼働中のRedmineで利用していたプラグインをインストールする

この流れでバージョンアップすることで以下のようなメリットがあります。

  • Rubyなどの動作環境を新規でインストールするため、既存パッケージのバージョンアップが不要
    • Redmineのバージョンにより対応しているRubyと関連するミドルウェアやパッケージのバージョンが異なりますが、Rubyなどの動作環境を新規でインストールするため、既存パッケージのバージョンアップが不要になります。
  • バックアップとリストアを通じた可用性の確保
    • 既存のRedmineのバックアップを取得し、新しいインストールにリストアすることで、データの安全性をより確保できます。もし、新しいバージョンで問題が発生した場合でも、既存の環境を使い続けることができます。
  • プラグインの互換性の検証
    • 新しいバージョンにプラグインをインストールする過程で、それぞれのプラグインが新しいバージョンのRedmineと互換性があるかを確認できます。互換性がないプラグインは更新または代替となるものを探す必要がありますが、この手順を踏むことで事前に問題を特定し、解決策を見つけることができます。
  • システムの最適化
    • 新規インストールによって、システム構成を見直し、最適化する機会を得ることができます。例えば、必要なプラグインのみをインストールすることで、パフォーマンスの向上や管理の簡素化を図ることが可能です。

Redmineのバージョンアップ手順

提示した流れに沿って、具体的にどんな手順でRedmineのバージョンアップを行うのか説明します。今回は、Redmine4.2.3からRedmine5.1.2にバージョンアップしました。具体的な環境の情報は以下の通りです。

バージョンアップ前 バージョンアップ後
Redmine 4.2.3 5.1.2
Ruby 2.6.8-p205 (2021-07-07) [x64-mingw32] 3.1.5-p252 (2024-04-23) [x86_64-linux]
Rails 5.2.6 6.1.7.7
データベース MySQL 8.0.26 MariaDB 11.3.2
構築方法 Windows版のBitnami Redmineを利用(現在は廃止されている) AWS market placeのBitnami Redmineのマシンイメージを利用
注意点

バージョンアップ前の環境とバージョンアップ後の環境で別のデータベースを利用する場合(MySQLとPostgreSQL等)は、別途データベースの変換の作業が必要になります。

 

1.稼働中のRedmineとは別のマシンを用意し新規でRedmineをインストールする

まずは利用したいバージョンのRedmineを新規でインストールします。インストール方法については、以下のページをご参照ください。

 

Linux版のインストール方法については、以下のサイト等が参考になります。

>>Redmine.JP Blog「Redmine 5.1 をUbuntu 22.04 LTSにインストールする手順」

 

2.稼働中のRedmineのバックアップを取得する

Redmineのバックアップ対象は以下の通りです。(参考:Redmine.JP「データのバックアップ方法」

  • データベース
    • 添付ファイル以外の全ての情報がデータベースに格納されています。
  • Redmineインストールディレクトリ以下のfilesディレクトリ
    • チケットやWikiに添付されたファイルが格納されています。
データベースのバックアップを取得

mysqldumpコマンドを実行してデータベースのダンプデータを取得します。

mysqldump -u root -p[MySQLパスワード] [Redmineデータベース名] > [データ出力先ファイル名]

Bitnami Redmineの場合、MySQLパスワードはRedmine構築時に設定したパスワード、データベース名は「bitnami_redmine」です。注意点として、「-p」とパスワードの間のスペースは不要です。
上記のコマンドを実行した結果、「mysqldump: Got error: 1049: Unknown database 'bitnami_redmine' when selecting the database」のエラーが発生する場合は、オプションでMySQLパスワードの後ろに「--port=[ポート番号]」を入れると解決する場合があります。ポート番号は、[Redmineインストールディレクトリ]/config/database.ymlに記載があります。

filesディレクトリのバックアップを取得

Redmineのインストールディレクトリ直下のfilesディレクトリ(添付ファイル保存ディレクトリ)を圧縮しておきます。

 

3.新規でインストールしたRedmineに稼働中のRedmineのデータをリストアする

Bitnamiを使ってRedmineをインストールした場合などは、データベース(bitnami_redmine)が既に作成されています。その場合は削除し、データベースを作り直して権限を付与します。手動でインストールし、自分でデータベース「redmine」を入れてユーザー作成と権限の付与も完了している場合は、下記のコマンドの実行は不要です。

# MySQLにアクセスし、MySQLパスワードを入力
mysql -u root -p
# 既存のデータベースがある場合はデータベースを削除
DROP DATABASE bitnami_redmine;
# データベースを新規作成
CREATE DATABASE bitnami_redmine CHARACTER SET utf8mb4;
# ユーザーbn_redmineにすべて権限を付与
GRANT ALL PRIVILEGES ON bitnami_redmine.* TO 'bn_redmine'@'%';

リストアを行います。

mysql -u root -p[MySQLパスワード] [Redmineデータベース名] < [ダンプデータファイル名]

マイグレーションを行います。

bundle exec rake db:migrate RAILS_ENV=production

圧縮したおいたfilesディレクトリ(添付ファイル)をRedmineのインストールディレクトリに配置して展開します。

# 既存のfilesディレクトリを削除
rm -rf /opt/bitnami/redmine/files
# 圧縮しておいたfilesディレクトリを展開
unzip files.zip

Redmineを再起動してからアクセスし、問題なくデータが移行されていることを確認します。

 

4.稼働中のRedmineで利用していたプラグインをインストールする

データが問題なく移行されていることを確認できたら、プラグインのインストールを行います。プラグインのモジュールはあらかじめ[Redmineインストールディレクトリ]/pluginsに配置しておきます。プラグインがGitにある場合は、git cloneコマンドでクローンして配置することもできます。

# Redmineインストールディレクトリに移動
cd [Redmineインストールディレクトリ]
# 必要なライブラリをインストール
bundle install --without development test 
# プラグインのマイグレーション
bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Redmineを再起動してアクセスし、プラグインが正常にインストールされて動作することを確認します。確認後、問題なければ旧環境のRedmineを停止します。

まとめ

Redmineのおすすめバージョンアップ手順ついて解説しました。ぜひ参考にしてみてください。

テクマトリックスでは、環境構築やメンテナンスをせずにいつでも利用できるRedmineのクラウドサービスを提供しています。チケット数無制限、100ユーザーまで月額7000円でご利用いただけます。ご利用中のRedmineからのデータ移行も承っておりますので、ぜひご検討ください!

Lychee Redmine無料トライアル