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

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

はじめに

Redmineは、Ruby on Railsで実装された、最近注目を集めているプロジェクト管理ツールです。

オープンソースソフトウェアのため、使用する際のソフトウェア費用はかからず、無償で利用すること可能です。なお、ライセンスはGPL(GNU General Public License)となっています。

主な機能は、バグトラッキング、ガントチャートや工数集計といったプロジェクト進捗管理、Wikiやニュースによる情報共有、バージョン管理システムであるSubversionとの連携など、非常に多機能なツールです。

本連載では、Redmineをプロジェクト内で開発環境等に導入し、実際に手を動かしてメンテナンスを実施するような運用担当者を想定し、最新バージョン(0.6.3)までに追加された新機能や運用管理機能の紹介から、インストール/バージョンアップ方法やカスタマイズ、軽量WebサーバやJavaプラットホームでの動かし方まで、実際に運用する上で役立つ情報をお伝えしていきます。

Redmineの基本的な使い方については、gihyo.jpで以前連載されていたRuby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!で取り上げられているため、ここでは紹介を割愛します。

第1回は、以前の連載で使用されていたバージョン0.5.1以降に追加された新機能のサマリを紹介した上で、Redmineのインストール手順と、バージョン0.5.1から最新バージョン(0.6.3)へのアップデート手順をご紹介します。

新たに追加された機能

redMineのバージョン0.5.1までの機能については以前の連載で紹介されているので、それ以降に追加、拡張された代表的な機能についてご紹介します。

バージョン0.5.1で運用されている方で、新しく追加された機能を使用する場合は、バージョンアップされることをお奨めします。

「問題」の登録変更がより簡単に
「問題」を一括編集する機能やコピーする機能が追加され、⁠問題」の登録・変更がより簡単になりました。また、Redmineは1つのサイトで複数のプロジェクトを管理することが可能ですが、その機能がさらに強化され、他プロジェクトの「問題」と連携させることもできるようになり、親プロジェクトと子プロジェクト間で「問題」の連携も可能となりました。
経過時間の管理
「問題」毎に経過時間を入力しておくことで、バージョンやカテゴリ毎に作業合計時間を把握できるようになったため、個人およびプロジェクトレベルで予実管理ができるようになりました。
ユーザインタフェースがリッチに
問題一覧画面がAjax化されたことにより、「問題」上で右クリックすることで、ステータスや担当者の変更が可能になりました。さらに「問題」の編集時にプレビューを表示できるようになり、使い勝手が向上しています。
「トラッカー」がプロジェクト単位で選択可能に
今までは、全プロジェクトで「トラッカー」項目は共通となっており、プロジェクトの要望を受け付けたRedmine管理者が新規に「トラッカー」を登録すると、全プロジェクトに反映されていましたが、必要な「トラッカー」だけをプロジェクト単位で選択することができるようになりました。
他タスク管理ツールからのデータ移行機能
Redmine以外にもオープンソースソフトウェアでWEBベースのタスク管理ツールはいくつかあります。その中でもPythonで実装されているTracや、PHPで実装されているMantisについては、Redmineへのデータ移行ツールがオプションで提供されています。各タスク管理ツールによって移行可能なデータには限りがありますが、簡単に主要なデータをRedmineに移行することが可能となりました。
モジュールカスタマイズ機能
利用するモジュール(ニュースやwiki、フォーラムなど)をプロジェクト単位で選択可能となりました。
対応バージョン管理ツールの追加
Pythonで実装されているバージョン管理ツールであるBazaarにも対応しました。

Linux上にRedmineを環境構築する

以前の連載では、Windowsマシンでの構築手順が紹介されていましたので、今回はLinux環境での構築手順を解説していきます[2]⁠。

Linuxにも様々なディストリビューションが存在しますが、最近注目度の高いUbuntu Linuxでのインストール方法を紹介します。

まずは、オープンソースソフトウェアのRDBMS(リレーショナルデータベース管理システム)であるMySQLとRubyおよびMySQLと接続するためのライブラリをaptを使ってインストールします[3]⁠。

# apt-get install mysql-server ruby libmysql-ruby

Rubyのパッケージ管理システムであるrubygemsをインストールします。

# apt-get install rubygems

続いて、rakeをインストールします。RedMineのバージョン0.6.3にはrails 1.2.6が含まれているので、railsのインストールは必須ではありませんが、マイグレートするためにはrakeコマンドが必要なので、こちらはインストールしておきます。

# gem install rake

gemでインストールしたパッケージを確認するためには以下のコマンドを入力します。

# gem list

このままでは、rakeコマンドへのPATHが通っておらず、コマンドを実行する際に絶対パスを毎回指定する必要があります。そのため、ログイン時にロードされる.bashrcを編集します。

# vi ~/.bashrc

以下の内容を最下部に追記します。

PATH="$PATH":/var/lib/gems/1.8/bin

設定を反映させるために、以下のコマンドを入力します。

# source ~/.bashrc

次にRedmineをインストールします。Redmineを初めてインストールされる場合の導入方法については、以前の連載のredMineのインストール・初期設定で解説されている方法と同様なので、解説は割愛させていただきます。

Redmineのバージョンアップ

以前の連載を参考にして、バージョン0.5.1など最新版ではないバージョンで運用されている場合において、最新版にバージョンアップする方法を解説していきます[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のインストールおよびバージョンアップ方法について解説しました。

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

おすすめ記事

記事・ニュース一覧