Стандартная установка
...
Linux
Миграция Пассворка

Миграция с Linux на Docker

13min

Данная инструкция описывает подготовку и миграцию Пассворка, установленного в Linux, на Docker.

Данная инструкция предназначена для одиночной установки Пассворка и не подходит для отказоустойчивого решения.

Подготовка

Проверка версии Пассворка

  1. Проверить установленную версию Пассворка — cat /var/www/app/config/config.php | grep version. Если версия:
    1. Ниже чем 0602xx — необходимо выполнить обновление до актуальной версии.
    2. Ниже чем 06xxxx — необходимо выполнить миграцию на Пассворк 6.

Создание резервной копии MongoDB

  1. Создать резервную копию MongoDB:
    1. Локальная установка (MongoDB) без авторизации — mongodump --archive > mongo.dump
    2. Локальная установка (MongoDB) с авторизацией — mongodump --archive --authenticationDatabase admin --username=username --password=password > mongo.dump
    3. Установка (MongoDB) на отдельном сервере — mongodump --host host:port --archive --authenticationDatabase admin --username=username --password=password > mongo.dump

Копирование файла config.ini и лицензионного ключа

  1. Создать копию конфигурационного файла config.ini, по умолчанию расположенного в — /var/www/app/config/config.ini
  2. Создать копию лицензионного ключа, по умолчанию расположенного в — /var/www/app/keys/passwork-*.keys

Копирование сертификата

Если установка в Docker будет использовать тоже доменное имя и SSL сертификат, что и предыдущая установка Пассворка. Необходимо скопировать SSL сертификаты если настроено HTTPS соединение. Узнать пути к файлам сертификата, ключа и полной цепочки можно с помощью команд:

  • DEB (Debian, Ubuntu и Astra Linux) — grep -rE 'SSLCertificate(File|ChainFile|KeyFile)' /etc/apache2/sites-enabled/
  • RMP (RedHat, RedOS и Centos) — grep -rE 'SSLCertificate(File|ChainFile|KeyFile)' /etc/httpd/conf.d/

Установка

Установка основных компонентов

  1. Установить Docker и Docker Compose
  2. Создать и перейти в директорию, где планируется развёртывание новой Docker сборки Пассворка.

Скачивание скриптов

  1. Скачать скрипт установки — wget https://repos.passwork.ru/repository/passwork_docker/passwork_compose_install.sh
  2. Скачать скрипт миграции — wget https://repos.passwork.ru/repository/passwork_docker/migrate.sh
  3. Назначить права на исполнение — chmod +x ./*.sh

Перенос файлов из этапа «Подготовки»

  1. Создать директорию — mkdir ./linux
  2. Поместить в директорию — linux ранее скопированные файлы из этапа «Подготовки»:
    1. Конфигурационный файл — config.ini
    2. Лицензионный ключ — passwork-*.keys
    3. Резервную копию MongoDB
    4. SSL сертификаты веб-сайта Пассворка

Запуск процесса миграции

  1. Запустить скрипт с флагом -mlsudo ./passwork_compose_install.sh -ml
  2. Скрипт установки выполнит базовую установку последней версии Пассворка, доступной в вашей лицензии и автоматически запустит скрипт миграции.

Дополнительные настройки после установки

  1. После завершения работы скриптов, проверьте работоспособность новой установки и выполните донастройку если это необходимо
  2. Для добавления корневых сертификатов почтового сервера или LDAPS протокола в доверенные, необходимо скопировать корневые сертификаты .pem или .crt в директорию ./conf/custom_ca и перезапустить контейнер PHP — docker compose restart passwork_php
  3. Для изменения используемого сертификата SSL, необходимо скопировать сертификат\цепочку сертификатов в ./conf/ssl/fullchain.pem и приватный ключ в ./conf/ssl/privkey.pem и перезапустить контейнер Nginx — docker compose restart passwork_nginx

Возможные проблемы и их решения

Проблема. Ошибка прав на ту или иную базу при попытке создать полную резервную копию:

shell


Решение. Войти в оболочку управления MongoDB под текущим администратором и добавить ему роль:

shell