Мар 102014
 

Сегодня займёмся обновлением redmine до версии 2.5.0 для сообщества разработчиков проекта системы документооборота “Доцеро”.

  • Скачиваем. wget http://www.redmine.org/releases/redmine-2.5.0.tar.gz
  • Раскрываем, устанавливаем права для web-сервера только для чтения (  chown -R root:<группа_для_сайта> redmine-2.5.0; chmod -R o-rwx redmine-2.5.0). Я раскрываю, обычно, в каталог с номером версии, а актуализирую изменением символической ссылки. В результате остаётся полная копия работоспособной системы. Но вот места на диске надо много. А у меня есть оно.
  • Теперь некоторые файлы/каталоги отдадим под запись пользователю из-под которого работает сайт.  Внутри структуры redmine
    • tmp, log, files – полностью, со всеми подкаталогами.
    • config.ru – зачем, я забыл, но почему-то отказывается запускаться, если этот файл принадлежит другому пользователю.
    • config/environment.rb – судя по названию, что-то связанное с рабочим окружением среды ruby.   🙂
  • Копируем базу данных. Как-то так:

mysqldump -F --opt -B redmine -h localhost -u <user> --password=${Pass} \
|gzip -9c >redmine.<cur_time>.sql.gz

  •  Я обычно отключаю целевой сайт. Чтобы ничего не поменялось, пока идёт обновление.  Для apache – команда a2dissite . И не забыть apache2ctl restart . По уму, конечно, нужна бы парковочная страничка для сайта на время обслуживания. Ля-ля-ля, сайт на обслуживании…
  • Запускаем копирование папки files в фоне. Там может быть много…
  • Поехали делать по инструкции .
  • Всё хорошо до запуска bundle install –without development test . А вот тут начинается: не могу скомпилировать “нативные” библиотеки для pg и sqllite. Пришлось доставить пакеты

apt-get install libpq-dev libsqlite3-dev

  • Повторный запуск bundle привёл к “правильному” результату

Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

  • Пункты 7 и 8 проходят нормально.
  • Переходим к шагу “Step 4 – Update the database” – без проблем. Шаг 5 – аналогично.
  • Теперь переводим символическую ссылку на новую версию redmine , включаем сайт – a2ensite и перезапускаем apache.
  • Теперь надо проверить все “примочки”, которые работали на старой версии. Счётчики, метрики и прочую лабуду…
  • Нашлось:
    • log/production.log – надо сменить владельца (какой-то из шагов upgrade то ли сделал этот файл от имени root, то ли поменял права. Лень разбираться).
    • В этом самом log/production.log идут ошибки. redmine не может найти нужную версию jquery. (No route matches [GET] “/stylesheets/jquery/jquery-ui-1.8.21”) – скопируем из старой
    • Я забыл скопировать все свои “украшательства” из redmine/public/images . Там у меня валяется графика для вставки Inline в страницы wiki .
  • Теперь, кажется, всё!