ふりぶろぐ
Web Engineer's Blog
AWS

【1.3.0 → 4.1.0.stable】Redmineのサーバ移行&バージョンアップグレード!

Redmineのサーバ移行&バージョンアップデート

今回はRedmineの移行&アップグレードについて解説します。

環境
  • Redmine 1.3.0 → 4.1.0.stable
  • AWS
    • EC2
    • AMI

使用している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を利用しました。

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

すぐに立てられるのでおすすめです!

データベースの作成

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

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

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

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

  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で簡単にアップデートできたらいいのになぁ。

ABOUT ME
りーふ
たまにブログを書いてるWebエンジニア。 サーバーサイドメインでインフラとフロントエンドもたまにやります。 Javaが得意。 Play Frameworkが好き。 本業は迷惑をかけない程度に手を抜くスタイル。 意識高い系は苦手。