インフラ

【1.3.0 → 4.1.0.stable】Bitnami Redmineのサーバー移行&バージョンアップデート!【引っ越し】

redmine-upgrade
野田竣介

今回はこのような質問をいただきました。

Redmineのバージョンをアップグレードしたい!

使用しているRedmineが非常に古かった(1.3.0)ので2020年1月時点の最新版(4.1.0.stable)へアップグレードを行いました。

動作中のRedmineをアップデートするのは環境の都合で難しかったので、別のサーバーへ移行してアップグレードすることにしました。

そこで今回はこちらの質問について解説していきます!

移行データの準備

まずは旧サーバからデータを抽出します。

私が抽出したのは以下の2つです。(他にも必要なものがあるかも)

  • データベースのダンプ
  • アップロードされたファイル

データベースのダンプ

使用しているデータベースに接続してダンプを取得してください。

接続情報はインストールディレクトリ内のconfig/database.ymlに記述されています。

環境によって違うと思うけどデフォルトだとここかも。
/opt/bitnami/apps/redmine/htdocs/config/database.yml

あとはmysqldumpコマンド等でダンプを取得してください。

アップロードされたファイル

アップロードされたファイルはインストールディレクトリ内のfilesに格納されています。

このディレクトリごとコピーしておきましょう。

ファイルサイズが非常に大きい場合があります。

新しいサーバーを立てる

今回はAWSのAMIを利用しました。

詳細はこちらの記事にまとめてあります。

あわせて読みたい
【AWS】AMIを使ってEC2にRedmineを構築しよう!【VPCから構築!】
【AWS】AMIを使ってEC2にRedmineを構築しよう!【VPCから構築!】

すぐに構築できるのでおすすめです!

データベースの作成

ダンプファイルからデータベースを作成します。

ダンプファイルはコマンドで取り込むこともできるのですが、phpMyAdminが使えたので使うことにしました。

アクセスするまでの設定はこちらにまとめてあります。

あわせて読みたい
【AWS】AMIを使って構築したRedmineのphpMyAdminにアクセス!【MySQL】
【AWS】AMIを使って構築したRedmineのphpMyAdminにアクセス!【MySQL】

大きく分けると以下のような手順で作成します。

  1. ダンプファイルから新たなデータベース(schema)を作成する
  2. rake db:migrateを実行する

ダンプファイルから新たなデータベースを作成する

デフォルトで生成されるデータベースがあるのですが、そちらは使用しません。

今回は新たにデータベースを作成します。

まずはrootアカウントでログインします。(パスワードに関しては先ほどの記事参照)

デフォルトのデータベースの変更、または削除

rootアカウントでログインすると「bitnami_redmine」というデータベースが存在するのがわかると思います。

こちらがデフォルトで生成されるデータベースです。

まずはこのデータベースの名前を変更しましょう。(同じ名前のデータベースを作成したいため)

画面左側のデータベース一覧から「bitnami_redmine」を選択し、「操作」タブから変更、または削除が行えます。

デフォルトのデータベースの変更、または削除

私は「bitnami_redmine_base」というデータベース名に変更しました。

使わないデータベースなので削除しても大丈夫です。

データベースを新規作成

画面左側のデータベース一覧に表示されている「新規作成」からデータベースを作成します。

データベース名は「bitnami_redmine」で文字コードはそのままで大丈夫です。

データのインポート

次に「インポート」からインポートします。

作成したデータベースが選択されていることを確認してください。

「インポート」タブから操作を行います。

ダンプファイルのインポート

sql形式で抽出していればそのまま取り込めました。

これで今まで動いていたRedmineのデータベースをコピーすることができました。

rake db:migrateを実行する

次にデータベースの構造を最新のものに合わせる必要があります。

そこでActive Recordのマイグレーションを使用します。

まずはRedmineのインストールディレクトリ(/opt/bitnami/apps/redmine/htdocs/)へ移動します。

その後、マイグレーションコマンドを実行します。

$ cd /opt/bitnami/apps/redmine/htdocs/
$ bundle exec rake db:migrate RAILS_ENV=production

これでデータベースが最新の状態になります。

ファイルの配置

旧サーバからバックアップを取ったファイル(アップロードされたファイル)をコピーします。

インストールディレクトリのfiles(/opt/bitnami/apps/redmine/htdocs/files)内にコピー or 置換するだけです。

これですべてのデータが移行できました。

今までと同じようにRedmineが利用できるはずです。

あとがき

このあと簡単な動作確認程度しか行っていないので、もしかしたら手順が足りていないかもしれません。

カスタムクエリでエラーが出るような話を聞いたけど、そこは作り直せば良いかも。

移行まで行わない場合はバージョンが古すぎると簡単にはアップデートできないみたいですね(Rubyのバージョンが原因?)…定期的にアップデートしたほうが良いかも。

GUIで簡単にアップデートできたらいいのになぁ。

記事URLをコピーしました