Redmineを運用するためのイロハを身につけよう

第1回 新機能の紹介と最新版が利用できるまで

この記事を読むのに必要な時間:およそ 3 分

Redmineのバージョンアップ

以前の連載を参考にして,バージョン0.5.1など最新版ではないバージョンで運用されている場合において,最新版にバージョンアップする方法を解説していきます※4⁠。

※4
既に最新バージョンをインストールされている方は,以降の作業は不要です。

バージョンアップの方法には,次の2通りのケースで異なってきます。

  • Redmineのサイトからアーカイブをダウンロードしてきて解凍してから利用している場合
  • RedmineのSubversionリポジトリからソースコードをチェックアウトしてきて運用している場合

前提によりバージョンアップ方法は異なりますので,いずれも次の事前準備を実施してから,アーカイブ版を利用されている場合はアーカイブ版のアップデートを,リポジトリからチェックアウトされている場合は,リポジトリからチェックアウトしてバージョンアップを実施してください。

事前準備

Redmineが稼働中である場合は,プロセスを停止させてから作業するようにしてください。

バージョンアップ実施前に,念のためデータベースのバックアップを取得しておきましょう。今回はMySQLのコマンドを利用してダンプファイルをカレントディレクトリに出力しておきます。

# mysqldump -u root -h localhost redmine_production > redmine_production.dump

なお,バージョンアップ前の状態に戻すには,上記で取得したダンプファイルを以下のコマンドでインポートします。

# mysql -u root redmine_production < redmine_production.dump

また,文書やWikiなどでファイルをアップロードされている場合は,$RAILS_ROOT(appやconfigディレクトリが存在する場所)以下のfilesディレクトリに保存されますので,それらのファイルも念のためバックアップしておくことを推奨します。

# cp -r files ~/redmine_backup

最後に,バージョン0.5.1から0.6系へのバージョンアップでは,ロールと権限の内容がクリアされてしまいます。そのため,管理者権限でログイン後,⁠管理⁠⁠→⁠ロールと権限」「権限レポート」の内容を記録しておくようにしてください。

アーカイブ版のアップデート

最新版のアーカイブをRubyForgeのサイトからダウンロードし,任意の場所に展開してください。今回は,以前の連載のときにRedmineを展開したディレクトリと同一のディレクトリに展開したものとして話を進めていきます。

それでは初めに,データベース接続設定ファイル(database.yml)を最新版にコピーします。

# cp redmine-0.5.1/config/database.yml redmine-0.6.3/config/

次に,メールサーバ(SMTP)の設定を最新版に追加します。今まで利用していたバージョンの設定を元に,config/environment.rbファイルのconfig.action_mailer.smtp_settingsの部分に追記してください。

また,バックアップしておいたfilesのデータもコピーしておきましょう。最新版の$RAILS_ROOTに移動してから以下のコマンドを入力します。

# cp -r ~/redmine_backup/files/* files/
1.データベースのマイグレーション

データベースのテーブルやカラムの追加・変更を反映するためにマイグレートします。

最新版の$RAILS_ROOTに移動してから以下のコマンドを入力してください。

# rake db:migrate RAILS_ENV="production"

マイグレート成功時には以下のような出力になります。

== AddCustomFieldsSearchable: migrating =======================================
-- add_column(:custom_fields, :searchable, :boolean, {:default=>false})
-> 0.0034s
== AddCustomFieldsSearchable: migrated (0.0037s) ==============================
2.ロールと権限

バージョン0.5.1から最新版へバージョンアップでは,ロールと権限の設定がクリアされているので,バックアップしておいた内容を元に,ロール毎に権限の可否を設定してください。

以上でアーカイブ版のアップデートは終了です。

リポジトリからチェックアウトしてバージョンアップ

アーカイブ版とは異なり,既存のソースコードに更新分のみを反映させます。そのためソースコードを改修されている場合は,コンフリクト(衝突)を起こす可能性がありますので注意が必要です。

RAILS_ROOTに移動して,キャッシュおよびセッション情報を消去しましょう。

# rake tmp:cache:clear
# rake tmp:session:clear

続いてソースコードを最新版にするために,Subversionのコマンドを入力しましょう。

# svn update

最後に上述したアーカイブ版のアップデートで行った,1.データベースのマイグレーション2.ロールと権限を実施してください。

起動

それでは,バージョンアップしたRedmineのRAILS_ROOTに移動して最新版のRedmineを起動してみましょう。

# ruby script/server -e production

ブラウザで以下のアドレスへアクセスしてみましょう。

以下のような画面が表示され,バージョン0.5.1のトップ画面と比較すると大幅にデザインが変更されたことがわかります。

バージョン0.5.1のトップ画面

バージョン0.5.1のトップ画面

バージョン0.6.3のトップ画面

バージョン0.6.3のトップ画面

今回は,バージョン0.5.1以降に追加された機能の紹介と最新バージョンである0.6.3のインストールおよびバージョンアップ方法について解説しました。

次回は,新機能の使い方についてご紹介します。

著者プロフィール

安達輝雄(あだちてるお)

TIS株式会社勤務。入社してすぐにRuby on Railsと出会う。現在はJRubyやXenなどOSSを中心に調査・検証をおこなっている。

ブログ:http://d.hatena.ne.jp/interu/


並河祐貴(なみかわゆうき)

TIS株式会社 基盤技術センター所属。オブジェクト指向開発,開発環境・ツール整備に従事した後,近年はRuby on Railsを中心としたオープンソース系ミドルウェアの検証/導入や,Xenなどのサーバ仮想化技術をターゲットに取り組んでいる。

ブログ:http://d.hatena.ne.jp/rx7/