Красивый перенос Redmine

Как-то столкнулся на работе с задачей перейти со старой версии Redmine (1.2.1) на последнюю версию (2.1.2) (операционная система Windows XP) с сохранением существующей базы, всех настроек и конфигурации. Поиск решения занял достаточно продолжительное время: в Интернете много разрозненной информации, а чтобы конкретной инструкции по установке без танцев с бубнами — кот наплакал. Но кто ищет, тот всегда найдет.

Вот и мне повезло: на одном из англоязычных сайтов (http://bitnami.org/forums/forums/redmine/topics/fresh-install-of-rs-redmine-how-to-bring-old-db-across) я нашел достаточно качественную инструкцию, с помощью которой данная задача была осуществима.

Что необходимо будет выполнить:

  1. Создать дамп старой базы
  2. Скопировать важные директории из старого редмайна
  3. Создать базу данных в новом редмайне (при условии, что вы уже установили новую версию редмайна себе на компьютер)
  4. Восстановить бэкап старого редмайна на новую версию
  5. Произвести миграцию базы на новую версию редмайна
  6. Скопировать сохраненные ранее директории и файлы на новую версию редмайна.

ВАЖНО: дочитайте все до конца, чтобы потом не возникло по ходу установки ненужных вопросов!

Ниже я даю вольный перевод со своими комментариями.

Инструкция по переходу на новую версию Rermine:

1. Создаем дамп старой базы. Открываем консоль (installdir\use_redmine.bat) и пишем следующее:

mysqldump -u root -p bitnami_redmine > redmine_backup.sql

Запросит password на базу. Ввести. Ждать, пока создастся бэкап.

Бэкап лежит в корне установки нашего редмайна (в моем примере D:\BitNami Redmine Stack 2011). Копируем полученный файл в безопасное место.

2. Копируем папку installdir\apps\redmine\files и .yml файлы (database.yml, configuration.yml, email.yml) из директории config также в безопасное место.

3. Теперь в новом редмайне открываем консоль («C:\Program Files\BitNami Redmine Stack\use_redmine.bat») и пишем следующее:

mysql -u root –p

Вводим пароль. Добро пожаловать в SQL монитор. Пишем:

drop database bitnami_redmine; 
create database bitnami_redmine; 
grant all privileges on bitnami_redmine.* to ’bitnami’@’localhost’ identified by ‘BITNAMI_USER_PASSWORD’;

Примечание: ’bitnami’@’localhost’ — это имя пользователя, «BITNAMI_USER_PASSWORD» – это пароль, все можно найти в /Apps/Redmine/Config /database.yml.

пароль должен быть такой же, как на старой системе у администратора!!!

flush privileges; 
exit;

4. Используя файл, сохраненный ранее, восстанавливаем наш бэкап на новый редмайн (бэкап положить в корень нового редмайна):

mysql -u root -p bitnami_redmine < redmine_backup.sql

Введите пароль.

5. Теперь из консоли перейдите в папку Redmine и выполните команду:

cd installdir\apps\redmine\htdocs 
rake db:migrate RAILS_ENV=production 
rake tmp:cache:clear 
rake tmp:sessions:clear

6. Скопируйте папку files на новое место, а также сохраненные . YML файлы. Перезагрузите систему и все должно заработать!!

ОЧЕНЬ ВАЖНО: не заменять файл config/settings.yml старой версией!

7. Это все. Удачи!

Posted in Redmine and tagged .

18 Comments

  1. Здравствуйте! Для себя ценное, что узнал, это про пакет Bitnami. За что говорю спасибо!
    Но вот проблема, на 5ом пункте встал 🙁 Командная строка говорит, что «rake не является внутренней или внешней командой…» Я так понимаю, не может найти это приложение. Скажите, может директиву сменить?

    • Вы перешли в командной строке в директорию htdocs ? (пример cd С:\redmine-2.5.0\apps\redmine\htdocs)
      Да, данная ошибка показывает, что Вы пытаетесь запустить rake там, где его нет. )

      • Николай, да, нахожусь в этой директории (C:\Bitnami\redmine-2.5.2-1\apps\redmine\htdocs).
        Может подскажите, какую-нибудь альтерантиву:
        rake db:migrate RAILS_ENV=“production”
        rake tmp:cache:clear
        rake tmp:sessions:clear
        как нибудь ручками?

  2. Хочу с одного Winows перенести на Redmine на другой.
    Установлена версия redmine-2.5.2-2.
    Шаг 1 и 2 — все ок.
    На Шаге 3 — ошибка: при выполнении mysql -u root –p
    ERROR 1045:Access denied for user ‘root’@’localhost’
    И ошибка на шаге 5: при выполнении rake db:migrate RAILS_ENV=production
    rake aborted!
    You have already activated rake 10.1.0. but your Gemfile requires rake 10.1.1. Prepending bundle exec to your command may solve this.

    Помогите разобраться с ошибками

    • По поводу третьего шага: данная ошибка говорит, что неправильно указано имя пользователя. Значит юзер у вас не root? похоже.
      По поводу шага 5: запустите bundle exec. Затем снова попробуйте rake db:migrate RAILS_ENV=production

      • А какой пользователь нужен? Redmine установлен по умолчанию, ничего не менял, т.е. у mysql должен быть пользователь root, а вход в Redmine — имя пользователя другое, не root

      • И вот еще что странно: на шаге 4 выполняю команду
        mysql -u root -p bitnami_redmine < redmine_backup.sql
        Далее спрашивает пароль и все корректно проходит, в отличие от:
        mysql -u root –p

    • Вспомнил. У меня тоже была такая проблема, когда я просто вставлял в командную строку mysql -u root –p. Попробуйте ручками написать эту команду. Все должно пойти. Удачи!

      • Спасибо большое! Это действительно помогло.

        Осталась проблема с шагом 5, с тремя командами. Выполнил их все с добавлением:
        bundle exec rake db:migrate RAILS_ENV=production
        Ответ: DL is deprecated, please use Fiddle
        Если просто запустить bundle exec, то
        Ответ : DL is deprecated, please use Fiddle
        exec needs a command to run
        Нахожусь в директории: C:\Bitnami\redmine-2.5.2-2\apps\redmine\htdocs

        Пробовал вместо выполнения этих 3х команд запустить REDMINEINI.BAT, который находится C:\Bitnami\redmine-2.6.1-2\apps\redmine\scripts\
        Но все равно Redmine не заработал

        • Действительно, в последних версиях Bitnami Redmine в пятом шаге нужно использовать команды:
          bundle exec rake db:migrate RAILS_ENV=production
          bundle exec rake tmp:cache:clear
          bundle exec rake tmp:sessions:clear

          Да, напишет DL is deprecated, please use Fiddle, но это сообщение, а не ошибка. Она возникает только на компьютере ОС Windows с ruby 2.0.0 версии.
          Как вариант можно установить Руби 1.9.3 наряду с 2.0. А можно вообще не обращать на это внимание.
          Все должно работать, проверено.

          • Сделал все шаги, все прошло без ошибок, но Redmine не запустился. В Manage Servers:
            Thin_redmine Stopped
            Thin_redmine2 Stopped
            Остальные службы запущены.
            Есть еще вопрос: какое имя нужно указать вместо ’bitnami’@’localhost’?
            Имя администратора в виде ‘slava’@’localhost’ или просто ‘slava’
            И еще я не перенес папку files, но не из-за этого он не работает?

          • Возможно ошибка Thin_redmine Stopped связана с плагинами, которые вы просто скопировали в папку из старой версии.
            Попробуйте сначала без плагинов запустить Redmine. Потом добавляйте по одному плагину.
            Также имейте в виду, что некоторые плагины требуют установки.
            Необходимо в командной строке перейти на директорию с плагинами
            cd your_path\redmine\htdocs\plugins\
            и выполнить установку плагина
            bundle exec rake redmine:plugins NAME=redmine_contacts RAILS_ENV=production
            (пример установки плагина redmineCRM)
            Если у вас система покажет, что что-то не установлено (или другие версии), то выполните
            bundle install
            а затем снова
            bundle exec rake redmine:plugins NAME=redmine_contacts RAILS_ENV=production
            если все ок, то перезапустите сервисы.
            После этого все должно работать.
            По поводу имени — обязательно писать ‘имя_администратора’@’localhost’
            По поводу папки files — в этой папке находятся все ваши сохраненные в Redmine файлы. На работу сервисов они не влияют, их просто копируешь и все.
            Удачи!

  3. У меня всего 2 плагина, не требующих установки. Пробовал с ними и без них. Пока не удалось побороть Thin_redmine — Stopped.
    У меня задача перенести работающую систему Redmine(windows 8 server) на другой компьютер на нем windows 8. Может быть из-за разных систем проблемы?
    И может быть есть log, в котором можно посмотреть что мешает работе?

    • На windows 8 bitnami redmine не ставил, так что трудно что сказать.
      лог смотрите \apps\redmine\htdocs\log\production.log
      Как вариант могу предложить попробовать установить redmine с путем C:\redmine (или D:\redmine), вроде была у меня похожая ситуация и такой вариант помог. Давно это было ).
      Также возможно, что на машине запущены другие службы (другой Apache, MySQL …), что может приводить к конфликту.

  4. Проблема на шаге 1.Создать дамп старой базы.
    Какой нужно вводить пароль?
    Непонятно какой должен быть пароль у пользователя root

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.