iEXExchanger 11.5 — новая система установки и обновлений

iEXExchanger
iEXExchanger 11.5 — новая система установки и обновлений

В версии iEXExchanger 11.5 полностью завершена разработка собственной системы установки и обновлений. Теперь продукт можно развернуть на чистом сервере с помощью одной команды, а новые версии — устанавливать из панели управления с отображением всех этапов, автоматическим созданием резервных копий и возможностью безопасного отката.

Также добавлена поддержка PHP 8.5, интеграция со SnapEx, гибкая настройка продолжения обменов в мессенджерах и обновлённое меню панели управления. Отдельное внимание уделено стабильности заявок, платежей, плагинов, авторизации и клиентской части.

Установка на чистый сервер одной командой

Новая система позволяет установить iEXExchanger на чистый сервер без FastPanel и других панелей управления.

Установщик самостоятельно:

  • проверяет сервер и подготавливает необходимое окружение;
  • устанавливает системные компоненты;
  • создаёт отдельного пользователя проекта;
  • настраивает Frontend и Backend;
  • подключает базы данных;
  • выпускает SSL-сертификаты;
  • запускает очереди, фоновые процессы и планировщик задач;
  • настраивает автоматический запуск служб после перезагрузки сервера.

Установка разделена на последовательные этапы. Пользователь видит выполненные действия, текущий этап и оставшиеся шаги.

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

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

Файлы сайта и прикладные процессы работают от отдельного пользователя проекта, а не от root. Системные конфигурации, резервные копии, журналы и управляющие компоненты защищены отдельно, а каталоги получают только необходимые права доступа.

Обновления из панели управления

Новая система обновлений полностью связана с панелью управления iEXExchanger.

Администратор может:

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

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

Исправлены ошибки сборки и выпуска обновлений. Система защищена от неполных, повреждённых, смешанных или неподходящих комплектов файлов, а также проверяет совместимость устанавливаемых плагинов.

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

Если соединение прервалось, процесс остановился или сервер был перезагружен, операция восстанавливается по защищённому журналу. Уже завершённые этапы не запускаются повторно, а система не показывает ложное сообщение об успешном завершении.

Резервные копии и откат версий

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

Для каждой операции сохраняется отдельный отчёт. В нём отображаются:

  • исходная и целевая версии;
  • время начала и завершения;
  • результат выполнения;
  • расположение резервных данных;
  • перечень пройденных этапов.

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

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

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

Поддержка PHP 8.5 и чистых серверов

В iEXExchanger 11.5 добавлена полноценная поддержка PHP 8.5 и новой серверной инфраструктуры.

Установка продукта больше не зависит от FastPanel и Debian 12. Собственный установщик iEXExchanger разворачивает систему непосредственно на чистом сервере без сторонних панелей управления и связанных с ними ограничений.

Действующие проекты на Debian 12 с FastPanel смогут продолжить работу. Немедленный обязательный перенос не требуется.

Однако полный набор новых возможностей будет доступен только на чистых серверах без панелей управления. К ним относятся:

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

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

Для действующих клиентов будет подготовлен отдельный сценарий перехода с FastPanel и Debian 12 на новую серверную инфраструктуру. До переноса можно продолжать использовать существующий способ установки и обновления.

Проверка новой системы

Перед выпуском версии был выполнен полный цикл проверки на чистом сервере:

  • первоначальная установка продукта;
  • несколько последовательных обновлений;
  • откат на предыдущую версию;
  • повторный переход на актуальную версию;
  • создание и восстановление резервных копий;
  • сохранение авторизации администратора;
  • работа сайта в режиме обслуживания;
  • восстановление после перезагрузки сервера;
  • согласование состояния панели управления и серверного агента.

Все основные сценарии установки, обновления и отката завершились успешно.

Интеграция со SnapEx

Добавлена полноценная поддержка SnapEx для приёма платежей и выполнения выплат.

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

Продолжение обменов в мессенджерах

Добавлена гибкая настройка продолжения обмена в подключённых мессенджерах. Возможность больше не включается одновременно для всех клиентов и направлений.

Продолжение обмена можно разрешить для выбранных валют и сетей на стороне «Отдаю». Для каждого направления доступно отдельное правило:

  • использовать настройку валюты;
  • принудительно разрешить продолжение в мессенджере;
  • полностью запретить продолжение в мессенджере.

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

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

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

Обновлённое меню панели управления

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

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

Добавлен отдельный раздел «Плагины» со списком установленных и готовых решений. Раздел «Обновления системы» теперь открывается непосредственно из основного меню.

Оформление меню, аналитики и плагинов приведено к единому виду. Исправлена постоянная подсветка пункта «Обзор», выровнены размеры, шрифты, иконки и отступы, восстановлены правильные ссылки и одинаковое поведение курсора.

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

Меню поддерживает все доступные языки панели управления.

Ограничения режима чтения

Исправлена работа раздела «Обновления» для администраторов с доступом только на чтение.

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

Улучшения заявок и клиентской части

Пустые списки заявок во всех вкладках теперь показывают единое понятное сообщение. В нём указано, что заявки появятся после их создания или изменения текущих фильтров.

Исправлено количество успешно завершённых заявок у пользователей. Восстановлены ранее пропущенные значения, а новые заявки учитываются корректно. Данные правильно отображаются в списке пользователей, профиле клиента и карточке заявки без дополнительной нагрузки на сервер.

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

На мобильных устройствах клиент после создания заявки больше не возвращается на главную страницу, а сразу переходит к оплате.

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

Авторизация и подтверждение по e-mail

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

Теперь почта клиента корректно показывается:

  • в списке заявок;
  • в карточке заявки;
  • в чате;
  • в уведомлениях;
  • во время проверок.

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

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

Проверка реквизитов и сортировка валют

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

Исправлена сортировка валют в форме обмена. Порядок в блоках «Отдаю» и «Получаю» теперь точно соответствует настройкам и одинаково работает с категориями и без них.

Валюты внутри категорий больше не смешиваются с общим списком, варианты одной сети отображаются в правильном порядке, а отключённые и временно недоступные направления не появляются среди доступных вариантов. Изменения порядка корректно сохраняются и отображаются на сайте.

Верификация карт

Усилена надёжность и безопасность верификации карт.

Теперь нельзя:

  • отправить заявку для отключённой или недоступной валюты, включая Bitcoin;
  • открыть закрытую форму прямым или посторонним запросом;
  • создать повторную заявку;
  • загрузить неподходящие, одинаковые или слишком большие фотографии;
  • слишком часто отправлять запросы;
  • удалить заявку на верификацию со стороны клиента.

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

Групповые комиссии

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

После подтверждения комиссия автоматически удаляется из всех связанных направлений вместе с группой. Сами направления и остальные назначенные им комиссии сохраняются. Открывать и очищать каждое направление вручную больше не требуется.

Партнёрские выплаты

Исправлена форма вывода партнёрского баланса.

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

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

Платёжные шлюзы и готовые плагины

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

Rapira и 2328 снова доступны в разделе «Готовые плагины», корректно устанавливаются и не исчезают после обновления системы.

Новости, города и страны

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

Исправлено добавление и редактирование городов. Переведённые названия городов и стран правильно обрабатываются на выбранном языке и больше не вызывают ошибку при сохранении.

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