Миграция с ERP USERSIDE с обновлением операционной системы

В случае если у вас устаревшая версия операционной системы, которая больше не поддерживается, то вам не удастся установить необходимые системные компоненты на такую ОС. В этом случае вам нужно будет обновить операционную систему до актуальной поддерживаемой версии, но это может быть довольно трудоемко из-за множества потенциальных проблем при обновлении. Значительно проще и быстрее — установить актуальную версию операционной системы на новую виртуальную машину и выполнить простой перенос базы данных и прикрепленных файлов.

Проверить поддержку вашей операционной системы можно на сайте https://endoflife.date/

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

Далее обо всем по порядку.

Установка новой ОС на новую виртуальную машину

Выделите виртуальную машину для установки ОС. Затем установите удобную для вас ОС, к которой вы привыкли и хорошо в ней ориентируетесь. Если таких предпочтений нет, то лучше выбрать основанный на Debian дистрибутив Linux или же сам Debian. Выбирать нужно всегда актуальную поддерживаемую версию. Вы можете загрузить Debian последней актуальной версии по этой ссылке: https://www.debian.org/download.

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

Во время установки операционной системы, когда будет предложено выбрать дополнительные компоненты, выберите только SSH-севрер. Остальные компоненты устанавливать не нужно.

Создание резервных копий на старом сервере

Теперь вернитесь к старому серверу. Вам нужно создать резервные копии базы данных и файлов и перенести полученные файлы на ваш новый сервер.

На старом сервере выполните следующие команды:

sudo tar cf ~/files.tar --dereference -C /var/www/userside var/attachments/ common/config/settings.json
sudo -u postgres pg_dump --no-acl -Fp -Z 5 userside > ~/database.sql.gz

В результате этих действий вы получите 2 файла в домашнем каталоге (files.tar и database.sql.gz). Перенесите эти два файла в свой домашний каталог на новом сервере.

Восстановление резервной копии на новом сервере

Теперь уже на новом сервере вам нужно восстановить базу данных и файлы вложений.

Базу данных придется пересоздать, чтобы быстро очистить ее (сейчас там чистая установка ERP Cubalink которую вы делали для теста), а затем загрузить в чистую базу данных резервную копию. После чего скопировать файлы вложений.

На новом сервере выполните следующие команды (указано для базы данных с именем userside и пользователем userside, но если у вас на старом сервере имя базы данных или пользователя было другим, то используйте их вместо userside):

sudo -u postgres dropdb userside
sudo -u postgres createdb -e -E "UTF-8" -l "ru_RU.UTF-8" -O userside -T template0 userside
sudo -u postgres psql -d userside -c "CREATE EXTENSION postgis"
gunzip < ~/database.sql.gz | sudo -u postgres psql -d userside -v ON_ERROR_STOP=1

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

Теперь нужно восстановить файлы. На новом сервере выполните:

sudo tar xf ~/files.tar -C /var/www/erp
sudo chown -R www-data:www-data /var/www/erp

На этом восстановление резервной копии завершено.

Миграция базы данных

Так как у вас уже установлен и настроен ERP Cubalink, вам нужно только лишь выполнить миграции для базы данных. Проще всего это сделать через инструмент инсталляции следующей командой:

cd /var/www/erp
sudo -u www-data php install.phar install

Будет обнаружена ваша старая версия и предложено обновиться до последней версии Cubalink. Соглашайтесь.

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

После окончания процесса перезапустите службы:

sudo supervisorctl restart all

После перезапуска подождите около 10 секунд и проверьте их состояние — оно должно быть RUNNING.

Войдите в WEB-интерфейс ERP Cubalink, перейдите в меню: Настройка > Основные > WebSocket и укажите имя пользователя и пароль, которые вы записывали в самом начале на этапе настройки RabbitMQ.

Перейдите на главную страницу dashboard и убедитесь, что нет ошибок.

Перенос модулей

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