Подготовка сервера
На данном этапе будет выполнена подготовка операционной системы и установка всех компонентов, необходимых для работы iEXExchanger.
В результате будут настроены:
PHP 8.4 для CLI
ionCube Loader
расширение uv
Redis
Supervisor
Node.js 24
PM2
системные лимиты сервера
права доступа к файлам
Laravel Reverb
Laravel Horizon
Laravel Pulse
Laravel Queue Worker
После завершения данного этапа сервер будет полностью готов к запуску Backend и Frontend частей системы.
Перед началом
Подключение к серверу по SSHУбедитесь, что:
установлен Debian 12;
установлен FastPanel;
создан основной домен;
создан технический поддомен Backend;
установлен PHP 8.4 через FastPanel;
имеется SSH-доступ к серверу.
Проверьте наличие PHP 8.4:
Если PHP 8.4 отсутствует, сначала установите его через FastPanel.
Все системные команды в первой части инструкции необходимо выполнять от имени пользователя root.
Для перехода в root используйте: sudo -i или su -l root
Что нужно заменить в командах
Перед выполнением команд замените шаблонные значения на свои.
имя_пользователя_backend
пользователь Backend-сайта в FastPanel
имя_пользователя_frontend
пользователь Frontend-сайта в FastPanel
app.ваш_домен
технический поддомен Backend
ваш_домен
основной домен Frontend
/var/www/...
реальные пути к проектам на сервере
Пример:
Шаг 1. Установка системных компонентов
Выполните:
Активируйте службы:
Проверка:
Шаг 2. Настройка PHP 8.4 для CLI
FastPanel использует собственную сборку PHP.
Сделаем PHP 8.4 основной версией для терминала:
Результат: PHP 8.4.x
Шаг 3. Установка ionCube Loader
Loader подключаем первым через файл:
/opt/php84/conf.d/00-ioncube.iniСкачивание: IPv4 + fallback ZIP, если tar.gz не скачался.
Выполните:
Проверка: php -v
Должно отображаться: with the ionCube PHP Loader
Шаг 4. Установка расширения uv
Мы ставим uv не в системный PHP, а в FastPanel PHP 8.4 (/opt/php84).
Для работы uv требуется расширение FFI (это обязательная зависимость).
Если FFI не загружен, uv не запустится — будет ошибка инициализации/загрузки расширения из-за отсутствия ffi (вроде “FFI disabled” / “undefined symbol” / “failed to load”).
Выполните:
Шаг 5. Настройка лимитов системы
Откройте: nano /etc/security/limits.conf
Добавьте:
Шаг 6. Настройка Nginx
Откройте: nano /etc/nginx/nginx.conf
Найдите:
Замените:

Проверка: nginx -t
Применение: systemctl restart nginx
Шаг 7. Настройка Supervisor
Откройте: nano /etc/supervisor/supervisord.conf
После блока: [supervisord]
Добавьте:

Перезапустите Supervisor: systemctl restart supervisor
Шаг 8. Настройка автоматического запуска Backend-процессов
Для стабильной работы iEXExchanger необходимо настроить автоматический запуск фоновых процессов Laravel.
На данном этапе будет создана конфигурация Supervisor для следующих сервисов:
Horizon
Queue Worker
Pulse Work
Pulse Check
Reverb
Создайте файл: nano setup_supervisor_processes.sh
Перед вставкой скрипта замените следующие значения на свои:
PROJECT_PATH
путь к Backend-проекту
PHP_PATH
путь к PHP 8.4
USER
пользователь Backend-сайта
DOMAIN
технический домен Backend
Пример:
Вставьте следующий скрипт:
Сделайте файл исполняемым:
Запустите его:
Проверьте статус процессов:
После запуска все процессы должны иметь статус: RUNNING
Шаг 9. Установка Node.js 24
Выполните:
Проверка:
Результат: v24.x.x
Шаг 10. Установка PM2
Установка:
Проверка: pm2 -v
Шаг 11. Настройка PM2
Переключитесь на пользователя Frontend:
Перейдите в директорию проекта:
Создайте каталог логов:
Запуск:
Проверка:
Статус: online
Шаг 12. Настройка автозапуска PM2
Вернитесь в root:
Выполните:
Снова перейдите под пользователя Frontend:
Сохраните процессы:
Шаг 13. Настройка прав доступа
Backend:
Frontend:
Laravel:
Шаг 14. Финальная настройка Laravel
Перейдите под пользователя Backend:
Откройте проект:
Выполните:
Если команда:
завершилась ошибкой, выполните её повторно.
Шаг 15. Создание пароля администратора
После завершения установки необходимо создать пароль для входа в административную панель.
Убедитесь, что:
вы находитесь под пользователем Backend-проекта;
открыта директория Backend-проекта.
Если вы ещё не переключились на пользователя Backend, выполните:
Перейдите в директорию проекта:
Выполните команду:
После успешного выполнения команды в терминале будет отображён новый пароль администратора.
Проверка работы
Supervisor:
supervisorctl statusPM2:
pm2 statusPHP:
php -vNode.js:
node -vNginx:
nginx -t
Установка завершена
Последнее обновление
Это было полезно?