Ruby 2.3 Deprecation
Announcement for server admins who take care of Easy Project Server solution. As of 30. 4. 2020, support for Ruby 2.3.x is dropped due to the increasing deprecation of this version from third-party components used by Easy Project.
We recommend updating Ruby to version 2.6.5
Ruby is a prerequisite to run Easy Project. It is a maintained and continuously updated programming language. This means that once in a while you will need to update your Ruby in order to be able to use new versions of Easy Project. Updating Ruby has consequences, which is why we are presenting you with some guidelines, so you don't forget about any related change in your configurations.
The most common problem is that the server (unicorn) doesn't start after Ruby update. This guideline is provided with examples from VMs provided by Easy Software - always verify the steps before performing on your own server.
0/ Create backup
1/ Upgrade ruby (using rvm)
sudo rvm get head
sudo rvm install ruby-2.6.5-railsexpress
rvm use --default ruby-2.6.5-railsexpress
Make sure you are using a compatible version, see our system requirements.
2/ Install bundler & unicorn & puma
gem install bundler unicorn puma
3/ Go to the application root directory and install gems
cd APPLICATION_ROOT
bundle update
4/ Install Easy Project
rake easyproject:install RAILS_ENV=production
5/ You may also need to change the ruby version in a startup script.
The configuration should be in paths (depends on version of your VM, OS, etc):
/etc/systemd/system/puma@.service
/etc/systemd/system/unicorn@.service
/etc/systemd/system/easy.service
/lib/systemd/system/unicorn.service
Example:
...
[Service]
Type=simple
User=easy
WorkingDirectory=/srv/easyproject/public_html
Environment=RAILS_ENV=production
PIDFile=/srv/easyproject/run/unicorn.pid
ExecStart=/bin/bash -lc 'rvm 2.6.5 do unicorn -D -c /etc/unicorn/easyproject.rb -E production'
...
Change the ruby version or use "default", save it and then restart the service.
If it still doesn't work, contact support and send us stderr.log (unicorn's error log) and production.log.
Ruby 2.7 is not yet supported but is in the final debugging stage. The official support for Ruby 2.7 will be announced on our website. Ruby maintenance is a standard responsibility of server admins, so please make sure to regularly check https://www.ruby-lang.org/en for news and for security updates.