Redmineに必須のツールといえるEasy Ganttをインストールします。
結論から言うとデータベースのアップグレードも必要だったので少し大変です。
不安な方は適宜スナップショットを取得しながら作業を進めていくことをオススメします。
前回はRedmineを4.0.1から4.1.1にアップグレードしたのですが
プラグインは再度インストールする必要があります。
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にバージョンアップしました。
$ 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を再起動して完了です。