Redmine v4.1 のインストール・初期設定

(2011.6.29 新規作成。)
(2015.11.3 redmine v3.1.1 に更新.)

Redmineのインストール方法について。

バージョン選択

Ruby / Ruby on Railsの界隈は、バージョンアップでどんどん互換性が失われるので、Redmineが必要とするライブラリなどについて、注意深くバージョンを選んでインストールしなければなりません。

[2015.7.19]
2015年7月現在、Redmine v3.0.4と v2.6.6 があります。それぞれ、依存バージョンは次のようになります。

[2018.1] バージョン対応表を更新しました。

バージョン対応表
Redmineバージョン Ruby on Railsバージョン Rubyバージョン
4.1 5.2 2.3 〜 2.6
4.0 5.2 2.2.2 〜 2.6
3.4.x 4.2 2.2 〜 2.4 EOL
3.3.x EOL4.2 2.2 〜 2.3 EOL
3.2.x EOL4.2 2.2 EOL

[2018-01] Ruby 2.2よりも前のバージョンは, すでにメンテナンスが終了している (EOL). [2021-01] Ruby 2.5 よりも前のバージョンは EOL.

どのバージョンを選ぶのがいいか?

どのような Redmine プラグインを使うか、で考えてはどうか。その制約がなければ、Redmine 3.0 にしておいたほうがいいだろう。Rails 3.x と 4.x の非互換は大きいが、いつかは上げなければならない。 [2021-01] Ruby 2.5 に対応した Redmine v4.0 以上にしなければならない。

プラグイン

Redmine は、プラグインがないと、機能が不足している。

Scrum - Plugins - Redmine
Scrum プラグイン。
ライセンス: Creative Commons Attribution-NoDerivatives 4.0 (CC BY-ND 4.0)
互換性: Redmine v3.1, v3.0

[2016-01] 実際にインストールしてみたが、きちんと動かすことができなかった。チケットを sprint 単位に分けるのはできたが、sprint (task) board が表示できない (v0.13.1)。[2021-01] 最新版は 2020年4月の v0.20.0. Redmine v4.2.x, 4.1.x, 4.0.x 対応。

Redmine Agile plugin
カンバン, Scrum に似たタスクボード, バーンダウンなど。Light版 (Free) だと機能制限が多い。PRO Single-site版は 199$ [2016.9確認] 399 US$.
ライセンス: 商用
互換性: Redmine v3.1, v3.0, v2.6

このプラグインだけでなく、CRM, ヘルプデスク, Invoice などもある。

Redmine Gantt Plugin - Easy Redmine
drag & drop でガントチャートをアップデート。FREE版 (FREE Easy Gantt) とPRO版 (PRO Easy Gantt) がある。critical pathなどは PRO版 (199ユーロ [2016.9確認] 299ユーロ). ダウンロードのためにメールアドレスを入力する (2015.12).

日本における代理店: http://hip.vg/easy-redmine/ リンク切れ.

使い物になる可能性あり。 [2021-01] 実際に試してみたが、機能不十分。

Resource view が弱い点は, Feature #17534: Resource histogram - Redmine このチケットが立てられているが、6年以上放置されている。プラグラインで使えそうなのはこちら; Redmine HRM Plugin resource planning & attendance management | AlphaNodes 年 498 ユーロってかなり安い。

インストール~起動まで

[2021-01] Redmine v4.1.1 をインストールします。Ruby v2.7.2, Rails v5.2.4.4

Redmine のWebサイト, Download のページから, redmine-4.1.1.tar.gz をダウンロード, 解凍。

config/database.yml

config/database.yml.example ファイルをコピーして database.yml ファイルを作ります。私は PostgreSQL にしました。以前はMySQLでなければうまく動きませんでしたが、最近のバージョンは問題ありません。

production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: rails
  password: 接続パスワード

MySQL を使うエントリはすべてコメントアウトします。残っていると, 次の bundle で 'mysql2' gem をインストールしようとしてしまいます。

依存するgem

Gemfile ファイルで ruby バージョンが '< 2.7.0' になっています。削除します。Rails も下の桁まで決め打ちしているのを '~> 5.2.4' ぐらいに。pg は v1.1.4 をインストールします。

yumコマンドで ImageMagick-devel をインストールしておきます。

bundle install --path vendor/bundle で、依存する gem すべてをローカルにインストールします。

次のエラーが出ます;

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/home/hori/redmine/redmine-4.1.1/vendor/bundle/ruby/2.7.0/gems/pg-1.1.4/ext
/usr/local/bin/ruby -I /usr/local/lib/ruby/site_ruby/2.7.0 -r
./siteconf20210101-102460-xj41ss.rb extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
 --with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Linux ディストリビューションのではなく, PostgreSQL の公式リポジトリから入れていた場合です。次のオプションを渡してやれば OK.

$ bundle config build.pg --with-pg-config=/usr/pgsql-13/bin/pg_config

再度, bundle install.

秘密トークン (secret) の作成 [Rails 5]

  
$ RAILS_ENV=production rails credentials:edit

config/master.key ファイルができる。

データベース設定

PostgreSQL ユーザ、データベースを作成します。PostgreSQLについて詳しくは、PostgreSQLの管理 を参照。

データベースを作成。

$ createdb -h localhost -U postgres -E utf8 -O rails redmine

マイグレイトします。簡単。

$ bundle exec rake db:migrate RAILS_ENV=production

うまくいったか確認. 全部 up になっていれば OK.

$ bundle exec rake db:migrate:status RAILS_ENV=production

起動!


(クリックで拡大)
$ passenger start -e production

オプションを指定しないと ポート3000で待ち受けます。

Redmine Gantt Free / WBS Free plugins のインストール

Redmine Plugins - Easy Redmine から, [Download Free Now] ボタンをクリック。

メールで案内が届くので、ダウンロードして, #{RAILS_ROOT}/plugins に展開する。

次のコマンドで登録する。

$ bundle exec rake redmine:plugins:migrate NAME=easy_gantt RAILS_ENV=production
$ bundle exec rake redmine:plugins:migrate NAME=easy_mindmup RAILS_ENV=production
$ bundle exec rake redmine:plugins:migrate NAME=easy_wbs RAILS_ENV=production

Easy Gantt を表示すると、Internal error になる。

Internal error
An error occurred on the page you were trying to access.
If you continue to experience problems please contact your Redmine administrator for assistance.

If you are the Redmine administrator, check your log files for details about the error.

log/production.log ファイルを確認する。

Completed 500 Internal Server Error in 37ms (ActiveRecord: 9.5ms)
  
ActionView::Template::Error (PG::UndefinedTable: ERROR:  リレーション"easy_settings"は存在しません
LINE 8:                WHERE a.attrelid = '"easy_settings"'::regclas...

次の実行も必要。これで OK.

$ bundle exec rake db:migrate RAILS_ENV=production

チケットの関係を作る

2021.1 時点の挙動。今後改善されるかもしれないが、現時点では、ちょっと使えない。

チケット (issue) で, Finish-to-Start, Finish-to-Finish, Start-to-Start および Start-to-Finish の4つとも作れるように見える。

ガントチャートでも、それぞれに応じた表示になっているように見える。

しかし!

  • Start-to-Finish の挙動がおかしい。どのようにおかしいか表現し難いが、正常でないのは確か。
  • Finish-to-Finish が同日にできない。しかし、そのような設定は見当たらないが。これもバグかな?

初期設定

まずはシステム全体に関係する設定をしましょう。管理者ユーザは、あらかじめ、ログインID admin, パスワード admin で登録されています。これでログインします。

初回ログイン時にパスワード変更を強制される。

ページ上部の「管理」(Administration) をクリックします。

最初はデフォルト設定をロードするよう促される。「デフォルト設定をロード」をクリックする。ロール名称, トラッカ名称などの値は多言語化されないので、日本語話者のみでないときは、英語が無難。

Easy Gantt を使うためには, REST APIを有効にする必要があります。管理 -> 設定 -> API と進み,「REST による Webサービスを有効にする」にチェックを入れる。

管理 -> プラグイン、で3つが表示されているか, 確認。

ロールと権限 (Roles and permissions)

少なくとも1つ、ロール role が必要。ロールがないと、プロジェクトにメンバを登録できない。

管理 -> ロールと権限

デフォルト設定をロードすると, 管理者、開発者、報告者、非メンバー (Non member), 匿名ユーザー (Anonymous) が登録されています。

Redmine のロールは、グローバルな設定なので、複数のプロジェクトに渡って共通です。

権限の ON / OFFを変更できます。

チケットのステータス (Issue statuses)

課題の状態。少なくとも1つ必要。これがないとトラッカを作れない。

デフォルト設定だと, "新規", "進行中", "解決", "フィードバック", "終了", "却下" の6種類です。課題 (issue) がクローズされるのは、終了と却下です。

終了は「完了」のほうが意味が通ると思います。あと,「重複」を追加して、却下は「キャンセル」ぐらいでしょうか。日本語にしなくても、fixed, duplicate, invalid でもいいと思います。

ここでできる設定は, 名称と終了にするかどうかだけです。これもグローバルに適用。

トラッカ Trackers

バグ, 要望など。プロジェクトの概要画面に、チケットの分類表で表示される。少なくとも1つはトラッカが必要。これがないとチケットが作れない。

トラッカは, "チケットのカテゴリ" とは別物。カテゴリはプロジェクトごとに作る。トラッカはグローバル設定。

管理 -> トラッカー.

トラッカがないと, プロジェクトの上部タブの [+] ボタンに [新しいチケット]が表示されない。[チケット]タブで、画面右上に [(+)新しいチケット]リンクが表示されない、という症状になる。エラーにならないので、混乱する。

デフォルト設定では, "バグ", "機能", "サポート" の3つが登録される。

管理 -> 設定, [プロジェクト]タブ, で, "新規プロジェクトにおいてデフォルトで有効になるトラッカー" に何かが表示されていることを確認。

優先度

優先度も少なくとも一つ必要。通常, 緊急、など。

管理 -> 選択肢の値 -> チケットの優先度

デフォルト設定では, "低め", "通常", "高め", "急いで", "今すぐ" の5つ。デフォルト値は "通常".

作業分類 (時間管理)

チケットに「時間を記録」する際に必要になる必須項目。これもグローバル設定。

管理 -> 選択肢の値 -> 作業分類(時間管理)

デフォルト設定は, "設計作業", "開発作業".