RedmineにEasy Ganttをインストールする手順を解説

RedmineにEasy Ganttをインストールする手順を解説

前回EasyGanttのインストールを試みたのですが、Redmineのバージョンが対応しておらず頓挫していたので、
Redmineのバージョンアップを行って再挑戦してみました。

前回の記事の最後、EasyGanttを [REDMINE_ROOT]/plugins にコピーした状態から記載します。

追記

Easy Ganttの詳しい機能説明、感想を書きました。

インストール手順

前回エラーになったマイグレーションを実行。

bundle exec rake redmine:plugins:migrate RAILS_ENV=production

またしてもエラー。。
redmine_extensionsというgemが必要な模様。
でも実行するコマンドを表示してくれているのは助かる。

Could not find gem 'redmine_extensions' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.

bundle installの意味がわからないので調べた。

Gemfileに記載された依存ファイルをインストールする、との事。
Node.jsのnpm installみたいなもの・・・かな。

コマンドの意味がわかった所で実行。

省略
Fetching redmine_extensions 0.2.14
Installing redmine_extensions 0.2.14
省略
Bundle complete! 33 Gemfile dependencies, 56 gems now installed.
Gems in the groups development and test were not installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

再度マイグレーション実行。成功したっぽい。

Migrating easy_gantt (Easy Gantt plugin)...
== 20170213152215 AddDefaultPrintableTemplate: migrating ======================
== 20170213152215 AddDefaultPrintableTemplate: migrated (0.0000s) =============

== 20170224134615 UpdateRestApiSettings: migrating ============================
== 20170224134615 UpdateRestApiSettings: migrated (0.0092s) ===================

Redmine再起動。

service httpd restart

ほっ。ログイン画面表示された。

ログイン後のヘッダ部にEasy Ganttリンクが表示されている。

が、リンクをクリックすると、下記の通りエラーが表示される・・・。

Apacheのログ確認すると、

cat /var/log/httpd/error_log

Redmineのログファイルproduction.logにアクセス権が無いみたい。
先日Redmineをバージョンアップした際に手順が足りてなかったという事か。。。

App 2225 output: Rails Error: Unable to access log file. Please ensure that /var/lib/redmine-3.4-stable/log/production.log exists and is writable (ie, make it writable for user and group: chmod 0664 /var/lib/redmine-3.4-stable/log/production.log). The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.

ログファイルに権限付与して、

chmod 666 /var/lib/redmine-3.4-stable/log/production.log

もう一度確認するが、変わらずエラー。Apacheのログには有益な情報が出ていなかったので、
Redmineのログを見てみる。

cat [REDMINE_ROOT]/log/production.log

テーブルが無い・・・だと?
マイグレーションは行ったはずだけど・・・。

Completed 500 Internal Server Error in 21ms (ActiveRecord: 3.3ms)

ActionView::Template::Error (Mysql2::Error: Table 'db_redmine.easy_settings' doesn't exist: SHOW FULL FIELDS FROM `easy_settings`):
1: <%= form_for(@easy_settings, url: easy_setting_path(@plugin.id), html: { class: 'form-box easy-setting-plugin-form' }) do |f| %>
2: <%= hidden_field_tag :back_url, params[:back_url] %>
3:
4: <%= render "easy_settings/#{@plugin.id}", easy_settings: @easy_settings, settings: @settings, form: f %>
lib/redmine/sudo_mode.rb:63:in `sudo_mode'

EasyGanttの配布元サイトを確認すると下記コマンドが抜けていた。
(もしかして、このプラグインに限らず必要・・・?Redmineの日本語情報サイトでは記載がないけど。。)

bundle exec rake db:migrate RAILS_ENV=production

それでもエラー。
内容は/tmpに書き込み権限が無いとの事(ログとり忘れ・・・)
コチラのブログを参考に、シンボリックリンクではなく実体に権限を設定してみる。



chown -R apache:apache /var/lib/redmine-3.4-stable
chmod -R 755 /var/lib/redmine-3.4-stable

で、ようやくガントチャートが見れた!

おわりに

権限のエラーでつまづいた。
最初にRedmineをインストールした時は、Redmineの日本語情報サイトを参考に言わば何も考えずに作業していた為、いつのまにか権限設定が行われていた模様。
今確認したら「Apache上のPassengerでRedmineを実行するための設定」の段落で設定していますね。

Redmineアップデート時は権限の設定を行っていなかった為、
上手くいかず時間が掛かってしまった。。。

実際に使ってみての感想はまた後日。

追記

Easy Ganttの詳しい機能説明、感想を書きました。

Redmineカテゴリの最新記事