Redmineを3.1.2から3.3.2へバージョンアップする手順


はじめに

この記事では、CentOSで運用しているRedmine(Bitnami利用)を3.1.2から3.3.2へバージョンアップする手順をざっくりまとめています。

以下が前提です

  • CentOS Linux release 7.3.1611 (Core)
  • Bitnami Redmine 3.1.2-0から3.3.2-2へバージョンアップ
  • 別サバは立ち上げない
  • 中の人はLinux初心者

バージョンアップ方法の調査

Bitnamiの説明では新しいサーバを立ち上げてデータを移行するとある。
https://docs.bitnami.com/installer/apps/redmine/\#how-to-upgrade-redmine

その他のことは特に書かれていないので、実際にやってみました。

実際のバージョンアップ手順

3.1.2-0がインストールされている状態で3.3.2-2をインストールします。

下準備

  • 現行DBのダンプ取得

    • /hogehoge/redmine-3.1.2-0/use_redmine
    • cd /opt/redmine-3.1.2-0/mysql/bin
    • mysqldump --default-character-set=utf8 -u bitnami -pXXXXXXXXXX bitnami_redmine > /hogehoge/redmine_db_vup.dump
  • 現行サービス停止

    • MySQL
    • apache
      ※停止しておかないと新バージョンの使用ポート81で設定しようとする
  • 新しいインストーラ(3.3.2-2)に必要なライブラリを導入

    • sudo yum install -y perl-Data-Dumper
      ※私の環境ではこれがないとインストーラがこけました

Bitnami Redmine 3.3.2-2のインストール

  • インストーラに実行権限付与
    • chmod +x /hogehoge/bitnami-redmine-3.3.2-2-linux-x64-installer.run
  • インストーラの実行
    • sudo /hogehoge/bitnami-redmine-3.3.2-2-linux-x64-installer.run
  • 言語選択ダイアログが表示される
    • Japaneaseを選択してOK
  • 次へ
  • コンポーネントの選択
    • SubversionやGitは入れておかないと後々面倒
  • インストールフォルダ選択
    • 任意の設定にし次へ
  • 管理者アカウントの作成
    • 現行サーバと同様のアカウントを作成
  • データベースに保管する際の規定の言語
    • 日本語を選択し次へ
  • SMTP設定
    • 任意の設定にし次へ
  • Bitnami Cloud Hosting
    • 特には必要ないのでチェック外して次へ
  • インストールする準備ができました
    • 次へ
  • 接続確認
    外部からhttp://hoge/redmine にアクセス

データの移行

  • apache停止
  • DBを一旦削除
    • /hogehoge/redmine-3.3.2-2/use_redmine
    • mysql -u root -p
    • Password: xxxxxxxxxx
      ※パスワードはdatabase.ymlで確認
    • mysql> drop database bitnami_redmine;
    • mysql> create database bitnami_redmine;
    • mysql> grant all privileges on bitnami_redmine.* to 'bn_redmine'@'localhost' identified by 'xxxxxxxxxx';
      ※ここで任意の新しいパスワードを設定することもできる
    • mysql> exit;
  • DBのインポート
    • mysql -u root -pxxxxxxxxxx bitnami_redmine < /hogehoge/redmine_db_vup.dump
  • DBのマイグレーション
    • cd /hogehoge/redmine-3.3.2-2/apps/redmine/htdocs
    • ruby bin/rake db:migrate RAILS_ENV=production
  • 各種ファイルの配置
    • テーマ
      以下に配置
      • /hogehoge/redmine-3.3.2-2/apps/redmine/htdocs/public/themes
    • 添付ファイル
      以下に配置
      • /hogehoge/redmine-3.3.2-2/apps/redmine/htdocs/files
    • 添付ファイルフォルダの権限設定
      • chown -hR daemon:daemon /hogehoge/redmine-3.3.2-2/apps/redmine/htdocs/files
      • chmod -R 775 /hogehoge/redmine-3.3.2-2/apps/redmine/htdocs/files

プラグインの移行

  • 旧環境のプラグインを以下へコピー
    • /hogehoge/redmine-3.3.2-2/apps/redmine/htdocs/plugins
  • マイグレーション
    • /hogehoge/redmine-3.3.2-2/use_redmine
    • cd /hogehoge/redmine-3.3.2-2/apps/redmine/htdocs
    • 必要ならばプロキシの設定
    • bundle config build.nokogiri --use-system-libraries
      ※私の環境ではnokogoriのビルドにシステムのライブラリを使うための指定が必要でした
    • bundle install
    • bundle exec rake redmine:plugins:migrate RAILS_ENV=production
    • apache再起動

動作検証

バージョンアップに伴い外観が変わってしまったり、動作しなくなったプラグインなどを修正。

所感

  • データの移行自体は簡単です
  • バージョンアップに伴うプラグインの修正に一番時間が掛かりました