EC2

【Amazon Linux 2】Redmine4.1.1にEasy Ganttプラグインをインストール

redmine

Redmineに必須のツールといえるEasy Ganttをインストールします。

結論から言うとデータベースのアップグレードも必要だったので少し大変です。
不安な方は適宜スナップショットを取得しながら作業を進めていくことをオススメします。

前回はRedmineを4.0.1から4.1.1にアップグレードしたのですが

redmine
【Amazon Linux 2】Redmine4.0.1をRedmine4.1.1にバージョンアップAmazon Linux 2で動作中のRedmine4.0.1を4.1.1にバージョンアップします。 稼働中のAmazon Lin...

プラグインは再度インストールする必要があります。

 

Easy Ganttのダウンロード

easy redmineにアクセスして「すぐに無料版をダウンロードする」をクリックして、名前、メールアドレス、電話番号を入力して送られてくるメールの「Download Easy Gantt FREE here!」のリンクからダウンロードします。

ダウンロードしたEasyGanttFree.zipをサーバにアップロードします。

$ unzip EasyGanttFree.zip

解凍すると2つのファイルが作成されます。
今回はRedmin4.1.1にインストールするので、EasyGanttFree-4.x.zipを解凍します。

$ unzip EasyGanttFree-4.x.zip

 

EasyGanttのインストール

解凍したファイルをpluginsディレクトリに移動します。

$ sudo mv easy_gantt/ /var/lib/redmine-4.1.1/plugins/

$ sudo chown -R apache.apache /var/lib/redmine-4.1.1/plugins/easy_gantt/

$ sudo chmod -R 755 /var/lib/redmine-4.1.1/plugins/easy_gantt/

 

easy_ganttプラグインのインストール

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

 

エラーが発生しました。

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

redmien_extensionsのインストール

$ sudo gem install redmine_extensions
Fetching: redmine_extensions-0.3.11.gem (100%)
Successfully installed redmine_extensions-0.3.11
Parsing documentation for redmine_extensions-0.3.11
Installing ri documentation for redmine_extensions-0.3.11
Done installing documentation for redmine_extensions after 0 seconds
1 gem installed

 

再度実行しましたがまたもやエラー

$ bundle exec rake redmine:plugins NAME=easy_gantt RAILS_ENV=production
There was an error while trying to write to `/var/lib/redmine-4.1.1/Gemfile.lock`. It is likely that you need to grant write permissions for that path.

権限がないとのことなので、sudoで実行

$ sudo bundle exec rake redmine:plugins NAME=easy_gantt RAILS_ENV=production
bundler: command not found: rake
Install missing gem executables with `bundle install`

rakeコマンドが見当たらないということなのです。

よくわからないので、フォルダとファイルのオーナーをec2userに変更します。

$ cd /var/lib

$ sudo chown -R ec2-user.ec2-user ./redmine-4.1.1/

 

そして再度インストールを実行

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

成功しました。

easy_ganttプラグインのデータベースの変更

$ bundle exec rake db:migrate NAME=easy_gantt RAILS_ENV=production

easy_ganttプラグインのためにデータベースの変更を行いました。

— add_index(:easy_settings, [:name, :project_id], {:unique=>true})
rake aborted!
StandardError: An error has occurred, all later migrations canceled:

Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE UNIQUE INDEX `index_easy_settings_on_name_and_project_id` ON `easy_settings` (`name`, `project_id`)
/usr/local/bin/bundle:23:in `load’
/usr/local/bin/bundle:23:in `<main>’

Caused by:
ActiveRecord::StatementInvalid: Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE UNIQUE INDEX `index_easy_settings_on_name_and_project_id` ON `easy_settings` (`name`, `project_id`)
/usr/local/bin/bundle:23:in `load’
/usr/local/bin/bundle:23:in `<main>’

Caused by:
Mysql2::Error: Specified key was too long; max key length is 767 bytes
/usr/local/bin/bundle:23:in `load’
/usr/local/bin/bundle:23:in `<main>’
Tasks: TOP => db:migrate
(See full trace by running task with –trace)

調べてみるとMariaDBのバージョンが低いために発生していました。

現在のバージョンが5.5だったので、最新の10.5にバージョンアップしました。

mariadb
【Amazon Linux 2】MariaDBを5.5から10.5にバージョンアップRedmineのeasy_ganttプラグイン導入でMariaDBをバージョンアップする必要がでたので最新の10.5にバージョンアップし...
$ bundle exec rake db:migrate NAME=easy_gantt RAILS_ENV=production

再度実行して成功しました。

権限変更

$ sudo chown -R apache.apache /var/lib/redmine-4.1.1

権限を変更して、

$ sudo systemctl restart httpd

Apacheを再起動して完了です。