Перейти к основному содержимому
Версия: 7.0

Кросс-платформенная миграция на Пассворк 7

Если на текущем сервере используется устаревшая ОС без поддержки PHP 8.3, полноценное обновление Пассворка на этой ОС невозможно. Вместо переноса всей старой установки рекомендуется кросс-платформенная миграция:

  1. На новой ОС выполняется ручная установка Пассворка 7.
  2. Данные переносятся с сервера, где остаётся Пассворк 6.5.
  3. Пассворк 7 подключается к MongoDB на устаревшей ОС, читает объекты базы данных и актуализирует их в новую локальную базу на актуальной ОС.
к сведению

Инструкция рассчитана на ручную установку Пассворка.

Действия на текущей ОС с Пассворком

Обновление и первичная миграция

  1. Выполнить обновление Пассворка до версии 6.5.
  2. Выполнить первичную миграцию данных.

Открыть доступ к базе данных MongoDB

Отредактировать конфигурационный файл MongoDB /etc/mongod.conf изменить bindIp с 127.0.0.1 на 0.0.0.0:

net:
bindIp: 0.0.0.0

Перезапустить службу MongoDB:

systemctl restart mongod.service

Сгенерировать конфигурационные файлы для Пассворка 7

Создать временную директорию и скопировать конфигурационный файл Пассворка:

mkdir /tmp/pwk_migrate
cp /var/www/app/config/config.ini /tmp/pwk_migrate

Получить скрипт генерации, назначить права и запустить его:

cd /tmp/pwk_migrate/
wget https://repos.passwork.ru/repository/linux/scripts/config_convert.sh
chmod +x config_convert.sh
./config_convert.sh --input ./config.ini --output ./

После выполнения в директории созданы два конфигурационных файла:

  • config.env
  • encryption_key

Подтвердить миграцию на клиентском портале

Подтвердить миграцию данных на клиентском портале Пассворка. Подтверждение миграции.

Действия на новой ОС

Установить Пассворк 7

Выполнить ручную установку Пассворка (последней доступной версии).

осторожно

После установки Пассворка на новой ОС не открывать веб-интерфейс. Иначе корректно завершить миграцию Пассворка будет невозможно.

Перенести и настроить конфигурационные файлы

  1. Скопировать с устаревшей ОС файлы config.env и encryption_key из /tmp/pwk_migrate/ в /var/www/init/ на новой ОС.
  2. В /var/www/init/config.env указать адрес MongoDB устаревшей ОС в MIGRATION_DATABASE_URL, а MONGODB_URL оставить локальным:
MONGODB_URL=mongodb://127.0.0.1:27017
MIGRATION_DATABASE_URL=mongodb://192.168.1.100:27017
к сведению

192.168.1.100 заменить на IP или hostname сервера с устаревшей ОС. Для локальной базы на новой ОС допустимы mongodb://127.0.0.1:27017 или mongodb://localhost:27017.

  1. Назначить владельца файлов в /var/www/init/ пользователя веб-сервера:
chown www-data:www-data /var/www/init/*

Запустить миграцию объектов базы данных

Запустить перенос объектов из MongoDB на устаревшей ОС в локальную MongoDB на новой ОС:

sudo -u www-data bash -c 'cd /var/www && yes | php -d memory_limit=-1 ./bin/console database:v6:migration'

Подробнее — Миграция объектов базы данных Пассворка.

Завершение при клиентском шифровании

Если в Пассворке используется клиентское шифрование, для завершения миграции необходимо выполнить последний этап — Миграция данных в веб-интерфейсе Пассворка.

Действия после миграции

После завершения миграции выполнить действия после миграции.