RusRedmineUpgrade » History » Version 1
Ruslan Khasanov, 2011-04-14 09:39
| 1 | 1 | Ruslan Khasanov | [[RusGuide|Руководство]]->[[RusInstallation_guide|Руководство по установке]] |
|---|---|---|---|
| 2 | |||
| 3 | h1. Обновление существующей установки |
||
| 4 | |||
| 5 | {{>toc}} |
||
| 6 | |||
| 7 | h2. Шаг 1 - Проверьте требования |
||
| 8 | |||
| 9 | Первый шаг к модернизации Redmine - проверить соответствие требованиям версии, которую вы собираетесь установить. |
||
| 10 | |||
| 11 | h2. Шаг 2 - Резервное копирование |
||
| 12 | |||
| 13 | Рекомендуется сделать резервную копию базы данных и файлов на сервер. Большинство обновлений являются безопасными, но никогда не помешает иметь резервную копию на всякий случай. |
||
| 14 | |||
| 15 | h3. Резервное копирование файлов |
||
| 16 | |||
| 17 | Все загруженные файлы хранятся в каталоге files/. Вы можете скопировать содержимое этого каталога в другое место, чтобы cоздать резервную копию. |
||
| 18 | |||
| 19 | h3. MySQL база данных |
||
| 20 | |||
| 21 | Команда mysqldump может использоваться для резервного копирования содержимого вашей базы данных MySQL в текстовый файл. |
||
| 22 | Например: |
||
| 23 | <pre> |
||
| 24 | /usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%y_%m_%d`.gz |
||
| 25 | </pre> |
||
| 26 | |||
| 27 | h2. Шаг 3 - Выполнить обновление |
||
| 28 | |||
| 29 | Теперь пришло время для выполнения фактического обновления. Этот процесс является различным в зависимости от того, как вы скачали Redmine. Вам только нужно выполнить один из следующих вариантов. |
||
| 30 | |||
| 31 | h3. Вариант 1 - Если скачивали tar.gz или ZIP-файл |
||
| 32 | |||
| 33 | # Распакуйте новый архив программы в новый каталог |
||
| 34 | # Скопируйте настройки базы данных, файл config/database.yml в директорию config новой директории установки |
||
| 35 | # Скопируйте настройки электронной почты, файл config/email.yml в директорию config новой директории установки |
||
| 36 | # Скопируйте содержимое каталога files/ в новую директорию установки |
||
| 37 | # Скопируйте папки ваших установленных плагинов в новую директорию установки |
||
| 38 | # Выполните следующую команду из корневого каталога Redmine: |
||
| 39 | <pre> |
||
| 40 | rake config/initializers/session_store.rb |
||
| 41 | </pre> |
||
| 42 | Выполните: |
||
| 43 | <pre> |
||
| 44 | rake generate_session_store |
||
| 45 | </pre> |
||
| 46 | Это сгенерирует файл (config/initializers/session_store.rb) со случайными данными, используемый для защиты данных сессии. |
||
| 47 | # Проверьте, нет ли тем, которые вы могли установить в каталог "public/themes". Вы тоже можете их скопировать, но проверьте подходят ли они для обновленной версии. |
||
| 48 | |||
| 49 | ОЧЕНЬ ВАЖНО: не заменять файл config/settings.yml старой версией! |
||
| 50 | |||
| 51 | h3. Вариант 2 - Обновление с SVN Checkout |
||
| 52 | |||
| 53 | # Перейти в корневой каталог Redmine и запустить следующую команду: |
||
| 54 | <pre> |
||
| 55 | svn update |
||
| 56 | </pre> |
||
| 57 | # Если вы обновляете старую версию на 0.8.7 и выше или из trunk версии Redmine на r2493 или выше, необходимо сгенерить файл для защиты данных сессии. См. выше про генерацию session_store. |
||
| 58 | |||
| 59 | h2. Шаг 4 - Обновление базы данных |
||
| 60 | |||
| 61 | Этот шаг может изменить содержимое базы данных. Перейти на новый каталог Redmine и запустите перенос базы данных: |
||
| 62 | <pre> |
||
| 63 | rake db:migrate RAILS_ENV=production |
||
| 64 | </pre> |
||
| 65 | |||
| 66 | Если у вас установлены какие-либо плагины, вы также должны запустить миграцию их баз данных: |
||
| 67 | <pre> |
||
| 68 | rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production |
||
| 69 | rake db:migrate_plugins RAILS_ENV=production |
||
| 70 | </pre> |
||
| 71 | |||
| 72 | h2. Шаг 5 - Очистка |
||
| 73 | |||
| 74 | # Вам необходимо очистить кэш и существующие сессии: |
||
| 75 | <pre> |
||
| 76 | rake tmp:cache:clear rake tmp:sessions:clear |
||
| 77 | </pre> |
||
| 78 | # Перезагрузите сервер приложений (например, mongrel, thin, passenger) |
||
| 79 | # Наконец, передите в "Admin -> Роли и разрешения" , чтобы проверить/задать разрешения для новых возможностей, если таковые имеются. |
||
| 80 | |||
| 81 | |||
| 82 | h2. Возможные проблемы |
||
| 83 | |||
| 84 | h3. Rack n.n.n cannot be loaded because Rack n.n.n is already activated |
||
| 85 | |||
| 86 | При использовании Rails 2.3.5 можно получить следующее сообщение Rack 1.0.1 cannot be loaded because Rack 1.0 is already activated. |
||
| 87 | Для решения необходимо изменить файл action_controller в папке приложения по следующему пути vendor/rails/actionpack/lib/action_controller.rb |
||
| 88 | Найти строки 34 и 35, закомитить их и добавить строку чтобы выглядело так |
||
| 89 | <pre> |
||
| 90 | #gem 'rack', '~> 1.0.1' |
||
| 91 | #require 'rack' |
||
| 92 | load "/usr/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack.rb" |
||
| 93 | </pre> |
||
| 94 | Причем путь надо заменить на нужный |
||
| 95 | |||
| 96 | h3. SVN репозитарий не открывается |
||
| 97 | |||
| 98 | в логах мини веб-сервера thin (/var/log/thin/thin.0.logh) пишется что-нить подобное: |
||
| 99 | |||
| 100 | <pre> |
||
| 101 | svn: OPTIONS of 'https://Сервер/svn/проект': Server certificate verification failed: issuer is not trusted (https://Сервер) |
||
| 102 | svn: OPTIONS of 'https://Сервер/svn/проект': Server certificate verification failed: issuer is not trusted (https://Сервер) |
||
| 103 | </pre> |
||
| 104 | |||
| 105 | Лекарство: |
||
| 106 | В файле /usr/share/redmine/lib/redmine/scm/adapters/subversion_adapter.rb |
||
| 107 | найти строку |
||
| 108 | <pre> |
||
| 109 | str << " --no-auth-cache --non-interactive" |
||
| 110 | </pre> |
||
| 111 | |||
| 112 | и добавить в неё текст, чтобы выглядело так: |
||
| 113 | <pre> |
||
| 114 | str << " --trust-server-cert --no-auth-cache --non-interactive" |
||
| 115 | </pre> |