デジタルトランスフォーメーションの7つの事例をこちらの記事で紹介しています

Redmineを3.4から4.1にバージョンアップする方法!AWS EC2

Redmineを3.4から4.1にバージョンアップする方法!AWS EC2

プロジェクトファシリテーターのじゅんです。

こちらの記事でAWS EC2 に10分でRedmineを構築する方法紹介しました。

このとき「farend-redmine」というAMIを使用して構築したのですが、このAMIではバージョン3.4.0のRedmineが使われています。

2020/03/12現在でのRedmineの最新バージョンは、4.1.0なので、最新版にバージョンアップしてから利用したいと思います。

今回の記事では、Redmineのバージョンを4.1.0に上げる方法を紹介します。

スポンサーリンク

基本情報を確認しておく

まずは、Redmineの現状の情報を確認しましょう。

管理画面 > 情報 というメニューを見ると上の画像のような情報を確認することができます。

これを見て、現状のRedmineの情報や他の関連情報を確認しましょう。

今回の作業では、Redmineのバージョンや関連するRailsのバージョンなどを上げていきます。

AWS EC2にSSH接続できるようにしておこう

次にバージョンアップの作業をする前に必要な準備をしましょう。

鍵ファイル : インスタンス構築したときの .rpm ファイル

ユーザー名:ec2-user

接続先ホスト名:パブリック DNS (IPv4) を確認しておく

Farend-redmine のAMIでインストールした場合のRedmineインストールディレクトリは以下の通り

/var/lib/redmine

Windowsの場合は、Tera Term、Poderosa、Rloginなどのターミナルソフトを使用

Macの場合は、標準搭載のTerminalを使用

iPadの場合は、以下の手順で接続できるようにしておきましょう

バックアップをとろう

今回の新規構築なので、データは全く無い状態です。

ですので、バックアップ作業は行わずにそのまま作業を行いました。

新規構築ではなく、すでにRedmineを使用していて、4.1.0より前のバージョンを使用している方はすでにRedmine上にチケットデータをはじめとするデータがあるはずです。

その場合は、データのバックアップを取っておくことをおすすめします。

この手の作業をするときのバックアップは基本中の基本なので絶対にやっておきましょう!

バックアップの手順に関しては、私のブログで紹介したいと思います。

私の記事をまたなくてもRedmineのノウハウや技術ブログはたくさんあるのでそちらを参照するほうが早いかもしれません。

AWSインスタンスから外部アクセスできるようにアウトバウンド設定しておこう

今回の手順では、AWSから公開されているRedmineのリポジトリSVNにアクセスしてバージョンアップを行います。

以下の手順でセキュリティ設定を変更しておきましょう。

1.AWS マネジメントコンソールにアクセス

2.EC2 Redmineインスタンスのセキュリティ設定を変更 アウトバウンド HTTP、SSHを許可

セキュリティ設定の画面に関しては、構築時の記事を参考にしてください。

Redmineをバージョンアップ

いよいよRedmineのバージョンを3.4から4.1に上げていきましょう。

サーバーにSSH接続してRedmineリポジトリから最新版をGet

これから説明する手順でAWS EC2サーバにアクセスして、Redmineがインストールされたディレクトリに移動し、インターネット上から最新のRedmineのソースコードを取得します。

具体的には以下のコマンドを実行します。

「#」で始まる行は、コマンドの説明なので実際には入力しなくてOKです。

#スーパーユーザーになる!ルート権限でコマンドを実行するため
sudo su -

#redmineのインストールディレクトリに移動
cd /var/lib/redmine

#チェックアウトしているSVNリポジトリの情報確認
svn info

#SVNからチェックアウトするリポジトリをver4.1に切り替えます
svn sw ^/branches/4.1-stable

bundle & rakeする

bundleとかrakeとか、黒画面を操作しない方には、意味不明な言葉かと思いますが、先程取得してきたソースコードを実行できるように再構築するというイメージをもっておいてOKです。

興味のある人は詳しく勉強しましょう。

今回の作業では、以下のコマンドを上から順番に実行すればOKです。

export RAILS_ENV=production
bundle update
bundle exec rake db:migrate
bundle exec rake tmp:clear

# Redmineを再起動する(もしうまく行かなかったら、AWS インスタンスそのものを再起動してOK)
/bin/systemd restart httpd.service

Redmine4.1.0にバージョンアップ完了!!

管理画面 > 情報 のページを見ると無事にバージョンアップが完了していることがわかります!おめでとうございます!

エラーが出たときの対処方法

無事にバージョンアップが完了したのは良いですが、いくつかエラーが出ているのがわかります。

ちょっと気持ちが悪いので、こちらも対処しておきましょう。

サーバにSSH接続をして以下のコマンドを実行することでエラーを回避できます。

sudo su -

#ディレクトリを移動します。
cd /var/lib/redmine

#filesというフォルダに書き込み権限を付与します
chmod 777 files/


cd /var/lib/redmine/public
chmod 777 plugin_assets/

Internal errorが突然出る!

管理メニューにアクセスしていると突然「Internal error」が出ることがあります。

これはかなりびっくりしますが、先程のエラー対策と同様にアクセス権を付与することで解決できます。

sudo su -
cd /var/lib/redmine/tmp
chmod 777 cache/

後処理|AWSインスタンスのアウトバウンドを無効にしておくのもよい

この設定は任意ですが、今回のアップデートを行う際に、RedmineのSVNリポジトリにアクセスするためにセキュリティ設定のアウトバウンドにおいて、HTTP,SSHの許可設定をしたと思います。

今回のバージョンアップが終わったら、この設定は不要となるので、設定をもとに戻す(アウトバウンド設定を消す)ようにしておくのが良いです。

感謝!バージョンアップのときに参考にした記事

今回の作業は主に以下の記事を参考にさせていただいてRedmineのバージョンアップを行いました。

めちゃくちゃ参考になったので本当に助かりました!

エンジニアブログ最高!

【Redmine 4.0】 にバージョンアップ (4.0.3 ← 3.4.7)した記録【前編】

ほぼこの記事を参考にしてバージョンアップしてます。

私の場合は、新規構築なのでバックアップは行いませんでしたが、今後バージョンアップする際はこちらの記事に書かれているように、Redmineのフォルダバックアップを取って、シンボリックリンクを設定したり、し直したり、して作業することになりそうです。

Redmine3.4.6をRedmine4.0.0にバージョンアップする方法

https://qiita.com/ankosoft/items/185c449f2f3ddf7aec51

こちらの記事では、主にエラー対策を参考にしました。

環境は、AWSを使用していて私と同じようだったのですが、AMIがBitnamiを使用していたのでインストールディレクトリなどが若干ことなりました。

しかし、バージョンアップ後のエラーの対処などを参考にさせていただき、無事に作業することができました。

本日の提案|Redmineバージョンアップ簡単だよね!

・サーバーにSSH接続できるように準備しておきましょう。バックアップも忘れずに!

・RedmineのSVNリポジトリから最新版を取得してバージョンアップする

・エラーが出たらいろんな人のRedmine技術ブログに頼ろう!!

投稿者プロフィール

じゅん
じゅんプロジェクトファシリテーター
フリーランスのITコンサルタント として、CIO代行サービスで多くの企業をサポートしています。
企業のIT戦略 立案・実行支援を行い、
ITを活用した情報システム の導入・マネジメント支援しています。
IT利活用 に関して気軽な相談から経営に関わる支援まで幅広く受け付けています。

普段私が仕事をする時にお客様やプロジェクトチームの方々に実際に話している内容をたくさんの方々に届けます。

DX(デジタルトランスフォーメーション)が好きすぎるので「DX王子」と呼ばれています。

フリーランス協業パートナー(PMO、ITコンサルタント)を募集しています

CTA-IMAGE 弊社代表はフリーランスとして大手SIer、国内外大手コンサルティング会社とのプロジェクトを多数行ってまいりました。現在、お答えできないほどの支援依頼が来ている状態です。 そこで、お客様のプロジェクト推進を支援していただくために協業パートナーを募集中です。 当社に依頼のある案件は、コンサル案件、PM/PMO案件が中心です。(一部ITエンジニアリング案件もあり) DX、システム導入、BPRなどさまざまな目的のプロジェクトを成功に導くために適切に管理し、推進していくためにPMOとして支援していただきます。 単にプロジェクトメンバになるだけでなく、プロジェクト推進の中心的存在になり自ら推進していただきます。

Redmineカテゴリの最新記事