前回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の詳しい機能説明、感想を書きました。