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