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> |