Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы документов
Редакторы документов
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
ВКС и мессенджер
ВКС и мессенджер
Мобильные редакторы
Мобильные редакторы
Почтовый сервер
Почтовый сервер
Органайзер
Органайзер
Сервер лицензирования
Сервер лицензирования
Файл-Экспресс
Файл-Экспресс
Аналитика
Аналитика
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Миграция Корпоративный сервер 2019 (Docker) на Корпоративный сервер 2024 (Astra Linux offline)

Обновлено: 01.06.26
Миграция Корпоративный сервер 2019 (Docker) на Корпоративный сервер 2024 (Astra Linux offline)Обратите внимание

Дисклеймер о текущих ограничениях и известных ошибках

Настоящий документ содержит информацию о текущих ограничениях и известных ошибках, обнаруженных при использовании инструмента миграции данных из Корпоративного сервера 2019 (далее - КС2019) в Корпоративный сервер 2024 (далее – КС2024). Мы стремимся обеспечить высокий уровень качества нашего продукта, однако на данный момент выявлены следующие проблемы, которые могут повлиять на функционирование и предупреждаем о возможных рисках его использования:

1. Интерфейс и настройки доступа:
  • В интерфейсе настроек доступа в КС2024 не отображаются права пользователей на документы, наследуемые от прав папок: Некоторые права пользователей могут не отображаться в интерфейсе КС2024, что может вводить в заблуждение при работе с делегированием прав на документы. При просмотре прав на документ отображаются только права выданные непосредственно на документ, права наследованные от папок не отображаются.
2. Права администратора:
  • Не мигрирует встроенная УЗ Администратора КС2019: Возможно отсутствие доступа к важному функционалу для отдельных групп пользователей.
  • Не мигрируют права администратора, выданные пользователю портала: Права администратора, выданные пользователям для работы с модулями портала, не переносятся в КС2024. Возможно отсутствие доступа к важному функционалу для отдельных групп пользователей.
3. Документы и папки:
  • Не мигрируют права на документы, добавленные в папку Общие с правами на Чтение: Возможна потеря доступа к отдельным документам.
4. Атрибуты пользователей:
  • Некорректно мигрируют даты создания пользователей: Даты создания учетных записей могут быть неправильно перенесены, что может искажать некоторую личную информацию пользователей.
  • Не мигрируют руководители пользователей: Информация о руководителях пользователей может быть потеряна. Необходимо ручное восстановление атрибутов пользователей.
  • Не мигрируют должности пользователей: Информация о должностях пользователей может быть потеряна. Необходимо ручное восстановление атрибутов пользователей.
  • Некорректно мигрирует телефонный код: Телефонные коды могут быть неправильно перенесены. Необходимо ручное восстановление атрибутов пользователей.
5. Проблемы доступа к информации:
  • При миграции УЗ с правами Гость получает права на редактирование к некоторым документам: Учетные записи с правами только на чтение могут получать непредусмотренные права на редактирование к некоторым документам, что может нарушать политику прав доступа к корпоративной информации. Под «некоторыми документами» понимаются документы КС2019 из папки «Общие», полный доступ к которым был выдан группе «Все». Для обхода данной ошибки перед выполнением миграции требуется исключить все УЗ с правами Гость из группы «Все».
  • Не мигрируют внешние ссылки на документы и папки: Возможно отсутствие доступа к определенным документам для отдельных групп пользователей.

Примечание: Обращаем внимание, что инструмент миграции находится в стадии активной разработки. В связи с этим просим не проводить миграцию без предварительного тестирования на непродуктивном контуре. Мы активно работаем над исправлением указанных ошибок и улучшаем функциональность инструмента миграции. Рекомендуем вам следить за обновлениями и устанавливать последние версии для получения исправлений и улучшений.

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

1. Останавливаем сервер документов на обоих серверах и создаем пользователя на сервере с КС2019

Для остановки сессий с документами выполняем скрипт на обоих серверах внутри контейнера командами:

docker exec r7 bash /usr/bin/documentserver-prepare4shutdown.sh

Проверяем, что файлы не открываются на редактирование.

Создаем пользователя для миграции и добавляем его в группу docker:

useradd -u 1999 -G docker cddisk

2. Работы для интеграции на Корпоративном сервере 2019

2.1. Создайте пользователя в БД r7-office с правами Select

2.1.1. Войдите в контейнер КС2019:

docker exec -it r7 bash

2.1.2. Подключитесь к MySQL:

mysql -u root -p

Узнаём пароль от root MySQL командой:

grep -oP 'Password=\K[^;]+' /var/www/r7-office/WebStudio/web.connections.config

2.1.3. Создайте пользователя cddisk с правами SELECT:

CREATE USER 'cddisk'@'ip_CS24' IDENTIFIED WITH mysql_native_password BY 'StrongSecurityPassword';
GRANT SELECT ON `r7-office`.* TO 'cddisk'@'192.168.24.22';
FLUSH PRIVILEGES;
\q

Где,

  • ip_CS24 — ip сервера КС24;
  • StrongSecurityPassword — пароль пользователя cddisk;
  • cddisk — пользователь, с доступом к БД;
  • r7-office — имя базы данных.

2.1.4. Выйдите из контейнера:

exit

2.2. Предоставление доступа к файлам

2.2.1. Установите nfs сервер:

# .deb
apt install nfs-kernel-server -y
# .rpm
yum install nfs-utils nfs4-acl-tools
# ALT Linux
apt-get install nfs-server

2.2.2. Запустите службу nfs:

systemctl start nfs-server
systemctl enable nfs-server

2.2.3. Откройте файл /etc/exports

sudo nano /etc/exports

2.2.4. Добавьте строку в файл /etc/exports:

/mnt/r7/app/r7-office/www/r7-office/Data/Products/Files/ ip_cs24/32(rw,nohide,all_squash,anonuid=115,anongid=123,no_subtree_check)

Где,

  • /var/www/r7-office/Data/Products/Files — путь до каталога с файлами пользователей, где следующим является каталог «00»;
  • ip_cs24/32 — ip адрес сервера с КС24;
  • anonuid=115 — uid пользователя cddisk на сервере с Корпоративным сервером 2024;
  • anongid=122 — gid группы cddisk на сервере с Корпоративным сервером 2024.

Посмотреть uid и gid возможно командой

id cddisk

2.2.5. Примените изменения:

exportfs -ra

3. Работы для интеграции на Корпоративном сервере 2024

3.1. Проверка доступ к БД КС2019 и NFS

telnet ip_CS19 3306
telnet ip_CS19 2049

Где,

  • ip_CS19 — ip сервера Корпоративный сервер 2019;
  • 3306 — порт для MySQL;
  • 2049 — порт NFS.

3.2. Доступ к файлам

3.2.1. Установите клиент nfs:

# для deb
sudo apt-get install nfs-common
# для yum
sudo yum install nfs-utils
# ALT Linux
sudo apt-get install nfs-utils

3.2.2. Создайте каталог и добавьте запись в /etc/fstab:

Эта команда создаст папку на вашем сервере, в которую будут монтироваться файлы с сервера «Корпоративный сервер 2019»

mkdir /mnt/cs19

Эта строка в файле fstab указывает, как подключить сетевую папку («шару») к вашей системе, чтобы она автоматически монтировалась при загрузке сервера

ip_CS19:/mnt/r7/app/r7-office/www/r7-office/Data/Products/Files/ /mnt/cs19 nfs defaults 0 2

Где,

  • ip_CS19 — ip сервера с Корпоративным сервером 2019;
  • /mnt/r7/app/r7-office/www/r7-office/Data/Products/Files/ — имя каталога, который сделали сетевым;
  • /mnt/cs19 — куда монтируется.

Замените StrongSecurityPassword на ваш реальный пароль

3.2.3 Чтобы примонтировать сетевой каталог указанный на этапе 3.2.3 без перезагрузки сервера, выполните команды:

systemctl daemon-reload
mount -a

3.3. Проверьте наличие кода в Processing

3.3.1. /opt/r7-office/Processing/services.json

Проверить наличие кода (начиная со второй релизной версии, уже имеется, но может иметь другой вид).

{
"name": "CS.UserImport",
"handlers": [
{
"name": "ImportReadStatusEmailMessageHandler",
"type": "ImportReadStatusEmailMessageHandler",
"subscriptionEndpoint": "Import.Read.Status.Email",
"useExchange": true,
"degreeOfParallelism": 1
},
{
"name": "ExportDataFromCsMessageHandler",
"type": "ExportDataFromCsMessageHandler",
"subscriptionEndpoint": "Export.Data.From.Cs",
"folder": "/mnt/cs19",
"customer": 1,
"useExchange": true,
"degreeOfParallelism": 20
},
{
"name": "ImportDataWithFilesFromCsToCdHandler",
"type": "ImportDataWithFilesFromCsToCdHandler",
"subscriptionEndpoint": "Import.User.From.Cs",
"useExchange": true,
"degreeOfParallelism": 4
}
]
},

где,

  • «folder»: «/mnt/cs19» — путь к примонтированному каталогу от Корпоративного сервера 2019.

3.3.2. /opt/r7-office/Processing/appsettings.json

Найдите секцию ConnectionStrings:

"ConnectionStrings": {
"R7StorageServerUserActions": "Database=cddisk;Username=cddisk;Password=I85q8xvzzyZp;Host=localhost;Port=5432;",
"R7StorageServer": "Database=cddisk;Username=cddisk;Password=I85q8xvzzyZp;Host=localhost;Port=5432;",
"CommunityRepository": "Server=10.10.2.4;UserID=cddisk;Database=r7-office;Password=i1ONnPrnXi6pPDShkp",
"Payments": "Database=Payments;Username=cddisk;Password=I85q8xvzzyZp;Host=localhost;Port=5432;",
"GeoNames": "Database=GeoNames;Username=cddisk;Password=I85q8xvzzyZp;Host=localhost;Port=5432;"
},

Изменив значения в строке CommunityRepository:

# Данные для подключения к MySQL Корпоративного сервера 2019
"CommunityRepository": "Server=ip_CS19;UserID=cddisk;Password=StrongSecurityPassword;Database=r7-office;SslMode=none"

Где,

  • ip_CS19 — ip Корпоративного сервера 2019;
  • cddisk — пользователя с доступом к БД Select;
  • StrongSecurityPassword — пароль пользователя;
  • r7-office — база данных Корпоративного сервера 2019.

3.3.3. Перезапустите сервисы

supervisorctl restart all

3.4. Запустите экспорт на КС2024

Откройте страницу вида после авторизации под пользователем r7_admin

https://disk.example.ru/api/v1/ExportFromCs/Start

Где,

  • disk.example.ru — URL вашего модуля Р7-Диск.

4. Работы после экспорта

4.1. Проверьте авторизацию на портале

Например, https://admin.example.ru

Где,

  • admin.example.ru – URL вашего модуля Р7-Админ.

4.2. Проверьте работу документов в модуле Р7-Диск

Например, https://disk.example.ru

Где,

  • disk.example.ru – URL вашего модуля Р7-Диск.

4.3. Проверьте Р7-календарь

Например, https://calendar.example.ru

Где,

  • calendar.example.ru – URL вашего модуля Р7-Календарь.

5. Отключаем возможность повторной миграции

5.1. Удаляем пользователя с БД MySQL на сервере КС-2019, либо на вынесенной отдельно БД MySQL Master

5.1.1. Войдите в консоль MySQL как пользователь root:

docker exec -it r7 bash
mysql -u root -p

5.1.2. Удалите пользователя в БД r7-office с правами Select

DROP USER 'cddisk'@'ip_CS24';

Где,

  • ip_CS24 — ip сервера КС24;

5.2. Отключаем экспорт через nfs на сервере КС-2019

5.2.1. Удалите строки в файле exports

Откройте файл exports

nano /etc/exports

Затем удалите строку ранее прописанную в файле exports

/mnt/r7/app/r7-office/www/r7-office/Data/Products/Files/ ip_cs24/32(rw,nohide,all_squash,anonuid=115,anongid=123,no_subtree_check)

Где,

  • /var/www/r7-office/Data/Products/Files — путь до каталога с файлами пользователей, где следующим является каталог «00»;
  • ip_cs24/32 — ip адрес сервера с КС24;
  • anonuid=115 — uid пользователя cddisk на сервере с Корпоративным сервером 2024;
  • anongid=122 — gid группы cddisk на сервере с Корпоративным сервером 2024.

Либо удалите полностью файл, если никакой иной экспорт на сервере не производится средствами nfs

sudo rm /etc/exports

5.2.2. Отключаем службу nfs-server на сервере КС-2019

Отключите службу

systemctl stop nfs-server
systemctl disable nfs-server

Включение документ сервера

Для остановки сессий с документами выполняем скрипт на обоих серверах внутри контейнера командами:

docker exec r7 bash -c "supervisorctl restart all"

5.3. Работы на стороне сервера КС24

5.3.1. Размонтируйте сетевой диск

sudo nano /etc/fstab

удалите строку:

ip_CS19:/var/www/r7-office/Data/Products/Files /mnt/cs19 nfs defaults 0 2

Размонтируйте сетевой диск

umount -l -f /mnt/cs19

 

Была ли эта статья полезной?

Поделитесь пожалуйста своим мнением

      В статье есть ошибкиРекомендации не помоглиТекст трудно понятьСодержание статьи не соответствует заголовкуДругое