Skip to content

Commit

Permalink
Update Legacy-Migration.ru.adoc
Browse files Browse the repository at this point in the history
  • Loading branch information
likhobory committed Sep 19, 2022
1 parent 6023831 commit d486fcf
Showing 1 changed file with 103 additions and 11 deletions.
114 changes: 103 additions & 11 deletions content/8.x/admin/installation-guide/Legacy-Migration.ru.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
Title: Переход с версий SuiteCRM 7.x на версию SuiteCRM 8.x
Title: Миграция с версий SuiteCRM 7.x на версию SuiteCRM 8.x
weight: 40
---

Expand All @@ -11,6 +11,11 @@ weight: 40
:toc-title: Оглавление
:toclevels: 1

//
:sectnums:
:sectnumlevels: 2
//

:experimental:

:btn: btn:
Expand All @@ -20,43 +25,47 @@ ifdef::env-github[:btn:]

== Предварительная подготовка

. Прежде всего убедитесь, что установленная система соответствует требованиям, указанным в
* Прежде всего убедитесь, что установленная система соответствует требованиям, указанным в
link:../../compatibility-matrix[Таблице совместимости^].

Вначале рекомендуется запустить процесс перехода на *тестовом экземпляре системы*
* Вначале рекомендуется запустить процесс миграции на *тестовом экземпляре системы*
и уже после удачного переноса запустить процесс на рабочем экземпляре системы.

{{% notice warning %}}
Не забудьте сделать резервные копии файлов системы и БД.
{{% /notice %}}

. Обновите установленную версию SuiteCRM 7.x до последней версии ветки 7.12.x. +
* Обновите установленную версию SuiteCRM 7.x до последней версии ветки 7.12.x. +
Обязательно выполните все действия по обновлению вручную, если они отдельно описаны в примечаниях к релизу для соответствующей версии.

. По умолчанию команды обновления устанавливают для директивы `error_reporting` менее строгий режим
* По умолчанию команды обновления устанавливают для директивы `error_reporting` менее строгий режим
для подавления предупреждений, присваивая ей значение `E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING`. +
Если вы хотите установить более строгий режим, укажите `-vvv` для каждой из команд.
Этот ключ присвоит директиве `error_reporting` значение `E_ALL`.

{{% notice info %}}
Обратите внимание: в процессе миграции из папки *public/legacy* могут быть удалены любые файлы и папки, не относящиеся к основным файлам SuiteCRM.
{{% /notice %}}

== Переход с SuiteCRM 7.12.x на SuiteCRM 8.x
== Миграция с SuiteCRM 7.12.x на SuiteCRM 8.x

{{% notice note %}}
Запускайте процесс перехода только после обновления до последней версии SuiteCRM 7.12.x.
Запускайте процесс миграции только после обновления до последней версии SuiteCRM 7.12.x.
{{% /notice %}}

Перед выполнение команд, указанных ниже, убедитесь, что переменная *APP_ENV* в файлах *.env* или *.env.local* установлена в значение `prod`.

=== Загрузка пакета

. Загрузите необходимый пакет (migration package) с link:https://suitecrm.com/upgrade-suitecrm/[этой страницы^].
. Загрузите необходимый пакет (migration package) с link:https://suitecrm.com/suitecrm-pre-release/[этой страницы^].

. Распакуйте скачанный архив в папку, в которой должна быть установлена SuiteCRM 8.x
. Распакуйте скачанный архив в папку, в которой должна быть установлена SuiteCRM 8.x, например, в папку `/var/www/<SuiteCRM8-folder>`

. При необходимости установите соответствующие права доступа.

=== Копирование файлов SuiteCRM 7.12.x

. Скопируйте папку с уже установленной SuiteCRM 7.12.x в папку `public` устанавливаемой SuiteCRM 8.x.
. Скопируйте папку с уже установленной SuiteCRM 7.12.x в папку `public` устанавливаемой SuiteCRM 8.x, например, из указанного выше примера в папку `/var/www/<SuiteCRM8-folder>/public/<SuiteCRM 7 Instance>`

. Переименуйте скопированную папку с SuiteCRM 7.12.x в `legacy`.

Expand All @@ -81,7 +90,7 @@ link:../../compatibility-matrix[Таблице совместимости^].

. Вам будет предложено вручную выполнить ряд действий по изменению некоторых директив в файле конфигурации, расположенном в папке `legacy`:

* Установите директиву `session_dir` в пустое значение (''). По окончании перехода вы можете установить необходимое значение `session_dir`. +
* Установите директиву `session_dir` в пустое значение (''). По окончании миграции вы можете установить необходимое значение `session_dir`. +
Обратите внимание, что настройка `session_dir` в SuiteCRM 8 отличается от SuiteCRM 7, детали описаны в разделе
link:../../configuration/sessions-configuration[Настройка сессий^].

Expand Down Expand Up @@ -179,4 +188,87 @@ link:../../configuration/sessions-configuration[Настройка сессий^
Если во время процесса миграции вы использовали пользователя/группу, которые не совпадают с теми, которые используются веб-сервером,
вам следует переустановить соответствующие права.

=== Очистка кеша php (опционально)

Если вы используете `OPCache`, `ACP` или другие оптимизаторы, может потребоваться перезапуск веб-сервера, чтобы применённые изменения вступили в силу.

=== Вход в систему

Если все вышеперечисленные шаги были выполнены правильно, вы сможете войти в обновленный экземпляр SuiteCRM 8.

== Файлы журнала и отладка системы

=== Файлы журнала

Команды, используемые во время обновления, предоставляют определённую информацию о выполняемых шагах и результатах их выполнения. Однако этой информации может быть недостаточно при возникновении ошибок.

Есть несколько файлов журнала, которые могут предоставить дополнительную информацию:

. *logs/upgrade.log*

Файл журнала, создаваемый при обновлении SuiteCRM 8.

[start=2]
. *public/legacy/upgradeWizard.log*

Специальный журнал обновления, создаётся устаревшей частью приложения. файл создается на этапе `legacy-post-upgrade`.

[start=3]
. *logs/<app-env-mode>/<app-env-mode>.log*

Основной журнал системы. Путь к файлу и его имя меняются в соответствии со значением, установленным в переменной *APP_ENV*. Например, если значение установлено в `prod`, путь к файлу журнала будет `logs/prod/prod.log`

В этом журнале скорее всего не будет содержаться много информации об обновлении.

[start=4]
. *public/legacy/suitecrm.log*

Это основной журнал устаревшей части приложения. Он может содержать записи, связанные с обновлением, а также другую полезную информацию.

=== Переменная APP_ENV

При запуске приложения в рабочем режиме переменная *APP_ENV* в файлах *.env* или *.env.local* должна быть установлена в значение `prod`. Однако в этом режиме не вся отладочная информация будет регистрироваться.

Один из способов получить более детальную информацию — изменить значение переменной APP_ENV на `qa` (этот режим следует использовать только временно).

После этого вам, возможно, придется очистить кеш symfony.

== Возможные проблемы

=== Проблемы с токеном CSRF


При выполнении наших внутренних тестов мы сделали несколько установок и обновлений. Эти тесты обычно проводились на одном и том же URL / экземпляре приложения.

Может случиться так, что в процессе обновления файлы cookie не обновляются, что может помешать пользователю использовать приложение.

Если вы получаете сообщение об ошибке *Invalid CSRF token*, попробуйте очистить файлы cookie и обновить страницу. Это позволит серверу сгенерировать новые cookie для новой сессии.

=== Администратор забыл переустановить права после миграции на новую версию SiuteCRM

Пожалуйста, убедитесь, что после запуска команд обновления вы переустанавливаете разрешения.

Переустановка разрешений требуется в том случае, если во время процесса миграции вы использовали пользователя/группу, которые не совпадают с теми, которые используются веб-сервером.

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

Это может помешать работе приложения, поскольку пользователь веб-сервера скорее всего не будет иметь прав на чтение/запись файлов, владельцем которых будет этот пользователь.

=== Отсутствует команда suitecrm:app:setup-legacy-migration или возникают ошибки при её выполнении

Мы заметили, что обычно эти ошибки возникают при использовании неправильного пакета.

Убедитесь, что вы используете именно *пакет миграции на новую версию (migration package)*, а не пакет установки SuiteCRM 8. Пакет миграции — это специальный пакет, созданный специально для перехода с версии 7.x на 8.x.

Название пакета миграции соответствует шаблону *SuiteCRM-8.x-7.x-migration*, где 8.x и 7.x — номера соответствующих версий.

=== Не знаю, куда поместить папку/экземпляры SuiteCRM 7 или SuiteCRM 8

При обновлении до SuiteCRM 8 вам понадобится специальный пакет миграции.
Пакет миграции не применяет обновление поверх существующего экземпляра SuiteCRM 7, другими словами, вы не должны загружать этот пакет в мастер обновления SuiteCRM 7.

Процесс работает наоборот, экземпляр SuiteCRM 7 будет перемещен/скопирован в экземпляр SuiteCRM 8.

Пакет миграции аналогичен установочному пакету SuiteCRM 8, но без папки *public/legacy*. Папка SuiteCRM 7 должна быть скопирована в папку *public* разархивированного пакета миграции, а затем переименована в *legacy*.

Позже, при запуске команд обновления, код SuiteCRM 7, находящийся в папке *public/legacy*, будет обновлён соответствующим кодом из пакета миграции SuiteCRM 8.

0 comments on commit d486fcf

Please sign in to comment.