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