Обновление Redmine на Debian 2020 год

Обновление Redmine на Debian 2020 год

Что еще делать системному администратору 4 января, как не обновлять сервера. Пока все спят, едят и отдыхают, мы произведем обновление Redmine.

На текущий момент (январь 2020 года) установлена следующая сборка:

Новые версии Redmine в наличии имеются такие:

Redmine versionSupported Ruby versionsRails version used
4.1.0 (upcoming)Ruby 2.3, 2.4, 2.5, 2.6Rails 5.2
4.0.6Ruby 2.2 (2.2.2 and later), 2.3, 2.4, 2.5, 2.6Rails 5.2

Так как 4.1.0 — upcoming и большинство плагинов, которые у нас установлены, не поддерживают данную версию, будем ставить 4.0.6. При этом необходимо произвести обновление Rails.

Disclamer: есть официальная инструкция по обновлению Redmine, можно смело пользоваться ею. Данную статью преимущественно я пишу для себя, просто чтобы было. Данная инструкция подойдет тем, кто устанавливал redmine также, как я.

Сначала не забываем делать backup. Сохраняем дамп базы данных и делаем архив всей папки redmine.

Обновляем RVM (Ruby Version Manager):

Устанавливаем новую версию Ruby:

Далее определяем новую версию Ruby по умолчанию:

Проверяем:

Все ок! Теперь заливаем новые файлы redmine:

Если в старой версии редмайна была установлена тема оформления, то выполняем следующее (например, у меня была тема от RM+ под названием redmine_alex_skin):

Выставляем права:

Перезаходим в консоль! Устанавливаем новую версию Rails (смотрим нужную в файле Gemfile):

Обновляем gem’ы:

Выходим из консоли, закрываем соединение с сервером, перезаходим по новой, выполняем:

Генерируем новый token:

В новой версии редмайна больше не поддерживается асинхронный метод отправки почты, поэтому правим конфигурацию в файле config/configuration.yml. Вместо «async_smtp» делаем просто «smtp». Например:

Сохраняем, выходим, обновляем базу данных:

Теперь самое интересное. Копируем плагины из старой версии в новую. Затем пробуем обновить базу данных.

Если есть ошибки при обновлении БД, определяйте в тексте ошибки, какой плагин не нравится и пробуйте искать его более новую версию или убирать вообще (возможно он устарел и не будет работать в новой версии). Лично у меня еще нужно было со старого редмайна скопировать из корня папку rgloader для плагинов от RM+. В общем, тут начинается творческий процесс.

Настраиваем apache:

После данной команды отобразится инструкция по настройке модулей web-сервера. У нас не новая установка, поэтому нам нужно только поправить версии ruby и passenger’а. Тут все просто.

Меняем конфиг в /etc/apache2/mods-available/passenger.conf и /etc/apache2/mods-available/passenger.load. Перезагружаем apache:

Завершаем установку passenger’а.

Чистим кеш: