> For the complete documentation index, see [llms.txt](https://docs.iexexchanger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iexexchanger.com/get-started/ustanovka/nastroika-fastpanel/nastroika-backend.md).

# Настройка Backend

Backend — это серверная часть iEXExchanger. Она отвечает за работу API, административной панели, базы данных, авторизации, очередей, уведомлений, платёжных модулей и внутренних системных процессов.

Backend устанавливается на технический поддомен: `https://app.ваш_домен`

На данном этапе необходимо загрузить Backend, настроить файл `.env`, подключить базу данных, установить PHP 8.4, Redis и обязательные PHP-модули, а также правильно настроить сайт в FastPanel.

## Перед началом

Перед выполнением данного этапа убедитесь, что:

* технический поддомен `app.ваш_домен` уже создан в FastPanel;
* SSL-сертификат для поддомена настроен;
* архив Backend скачан из личного кабинета iEXExchanger;
* архив лицензии скачан из личного кабинета iEXExchanger;
* файл конфигурации FastPanel для поддомена сохранён;
* Frontend уже установлен и настроен;
* у вас есть доступ к панели управления FastPanel.

***

## Подготовка файлов проекта

На данном этапе необходимо загрузить Backend и файлы лицензии на сервер.

{% stepper %}
{% step %}

### Загрузка файлов Backend

В панели управления FastPanel перейдите в раздел **«Сайты».**

Выберите технический поддомен: `app.ваш_домен`

Перейдите в раздел **«Файлы».**

<figure><img src="/files/qmoFUlqU5AhdLCwYrtKN" alt="" width="563"><figcaption></figcaption></figure>

Откроется корневая директория сайта.

{% content-ref url="/pages/Qs1hiwajeXhU7MQo0zB9" %}
[Broken mention](broken://pages/Qs1hiwajeXhU7MQo0zB9)
{% endcontent-ref %}

Загрузите архив Backend, полученный в личном кабинете iEXExchanger, используя кнопку **«Загрузить»** в верхней части файлового менеджера.

<figure><img src="/files/pvgNVWL1y2wcPMNe4eRN" alt=""><figcaption></figcaption></figure>

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

Если после распаковки появилась дополнительная вложенная папка, перенесите содержимое архива в корень сайта.
{% endstep %}

{% step %}

### Загрузка файлов лицензии

После загрузки Backend необходимо загрузить лицензионные файлы.

В корневую директорию Backend загрузите архив лицензии.

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

Не переименовывайте лицензионные файлы и не изменяйте их содержимое.
{% endstep %}

{% step %}

### Проверка структуры Backend

После распаковки в корневой директории поддомена должны присутствовать основные файлы и директории Laravel-проекта:

```
app/
bootstrap/
config/
database/
public/
resources/
routes/
storage/
vendor/
artisan
composer.json
composer.lock
.env
```

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

Особенно важно наличие директории: `public`

Именно она будет указана в FastPanel как рабочая директория сайта.

Также убедитесь, что в корне проекта присутствует файл: `artisan`

Он потребуется на следующих этапах установки для выполнения служебных команд Laravel.
{% endstep %}
{% endstepper %}

## Настройка приложения

На данном этапе производится настройка основных параметров Backend, лицензии и доменной конфигурации системы.

{% stepper %}
{% step %}

### Настройка файла .env

В корневой директории проекта найдите файл: `.env`

Откройте его для редактирования.
{% endstep %}

{% step %}

### Основные параметры приложения

Проверьте и настройте основные параметры приложения:

```
APP_NAME=iEXExchanger

APP_ENV=production
APP_DEBUG=false

APP_URL=https://app.ваш_домен

API_URL=https://app.ваш_домен
FRONTEND_URL=https://ваш_домен
```

Где:&#x20;

* **https\://**<mark style="color:red;">**ваш\_домен**</mark> — основной домен обменного пункта.
* **<https://app>.**<mark style="color:red;">**ваш\_домен**</mark> — технический поддомен Backend.
  {% endstep %}

{% step %}

### Настройка ключа лицензии

Для корректной работы системы необходимо указать лицензионный ключ в файле `.env`.

Лицензионный ключ можно получить в личном кабинете iEXExchanger.

**Получение лицензионного ключа**

1.

```
<figure><img src="/files/BbpRwpA2hGhwuhgAYaHF" alt=""><figcaption></figcaption></figure>
```

2. Авторизуйтесь в личном кабинете на официальном сайте iEXExchanger.
3. В левом меню откройте раздел **«Лицензия обменника».**
4. При первом открытии раздела подтвердите доступ с помощью Google Authenticator или резервного секретного кода.
5. В списке лицензий найдите лицензию, привязанную к вашему домену.
6. Скопируйте значение из поля **«Код лицензии».**

**Добавление ключа в .env**

Откройте файл `.env` и укажите полученный ключ: `LICENSE_KEY=ваш_лицензионный_ключ`

Пример: `LICENSE_KEY=K5044-67606-U7684-36813`
{% endstep %}

{% step %}

### Настройка пути к административной панели

Путь к административной панели задаётся через файл `.env`.

Укажите параметр: `APP_ADMIN_PATH=ваш_путь_к_админке`

Пример: `APP_ADMIN_PATH=iexadmin`

После настройки административная панель будет доступна по адресу:&#x20;

`https://app.ваш_домен/iexadmin`

Рекомендуется использовать уникальный путь.
{% endstep %}

{% step %}

### Итоговый пример доменных настроек .env

После настройки основные параметры должны выглядеть следующим образом:

```dotenv
APP_URL=https://app.ваш_домен
API_URL=https://app.ваш_домен
FRONTEND_URL=https://ваш_домен
APP_ADMIN_PATH=iexadmin
```

{% endstep %}
{% endstepper %}

## Настройка баз данных

На данном этапе производится настройка всех баз данных проекта.

{% stepper %}
{% step %}

### Настройка основной базы данных

После создания поддомена FastPanel автоматически создаёт базу данных и пользователя.

Используйте данные из файла конфигурации FastPanel, который был сохранён после создания сайта.

Обычно в нём содержатся:

```
Пользователь:
- Имя: ваше_имя_пользователя  # указан в данных FastPanel после создания сайта
- Пароль: ваш_пароль_пользователя

База данных:
- Имя: имя_вашей_базы
- Логин: ваш_логин_базы
- Пароль: ваш_пароль_базы
```

Настройте параметры подключения:

```dotenv
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306

DB_DATABASE=имя_вашей_базы
DB_USERNAME=логин_базы
DB_PASSWORD=пароль_базы
```

{% endstep %}

{% step %}

### Импорт основной базы данных

После настройки подключения в файле `.env` необходимо импортировать начальную базу данных системы.

В панели управления FastPanel откройте технический поддомен: `app.ваш_домен`

В блоке **«Управление сайтом»** перейдите в раздел **«Базы данных».**

<figure><img src="/files/Y9tzFb9z0JbGgLBFmAOD" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="/files/aVLpfkvo04FjVQU77puw" alt=""><figcaption></figcaption></figure>

Справа от базы данных нажмите кнопку меню **«⋮».**&#x20;

В открывшемся меню выберите пункт: **Загрузить SQL-дамп**

После этого выберите файл базы данных из распакованного архива Backend:

`database/iex_data.sql`

Дождитесь завершения импорта.
{% endstep %}

{% step %}

### Настройка базы данных Laravel Pulse

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

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

В панели управления FastPanel откройте технический поддомен: `app.ваш_домен`

В блоке **«Управление сайтом»** перейдите в раздел **«Базы данных».**

Нажмите кнопку **«Новая база данных».**

В открывшейся форме заполните следующие поля:

<figure><img src="/files/o8xmgXjiZbEpWtoV48wk" alt="" width="375"><figcaption></figcaption></figure>

* **Имя и логин:** одинаковые (например, pulse\_db)
* **Сайт:** выберите `app.ваш_домен`
* **Владелец:** выберите пользователя сайта (не root, не fastuser)
* **Пароль:** сгенерируйте и сохраните пароль

Нажмите **«Сохранить».**

После создания добавьте параметры подключения в `.env`:

```
PULSE_DB_CONNECTION=mysql-pulse

PULSE_DB_HOST=127.0.0.1
PULSE_DB_PORT=3306

PULSE_DB_DATABASE=pulse_db
PULSE_DB_USERNAME=pulse_db
PULSE_DB_PASSWORD=пароль
```

Замените значения на реальные данные вашей базы данных Pulse.
{% endstep %}
{% endstepper %}

## Настройка авторизации и безопасности

На данном этапе производится настройка взаимодействия Frontend и Backend.

{% stepper %}
{% step %}

### Настройка сессий

Укажите следующие параметры:

```
SESSION_DRIVER=database
SESSION_SECURE_COOKIE=true
SESSION_DOMAIN=.ваш_домен
SESSION_COOKIE=iexexchanger_session
```

Пример: `SESSION_DOMAIN=.example.com`

Обратите внимание на точку перед доменом.

Она необходима для корректной работы авторизации между основным доменом и техническим поддоменом.
{% endstep %}

{% step %}

### Настройка CORS и Sanctum

Для корректной работы Frontend и Backend настройте следующие параметры:

```
CORS_ALLOWED_ORIGINS=https://ваш_домен,https://app.ваш_домен
CORS_SUPPORTS_CREDENTIALS=true
SANCTUM_STATEFUL_DOMAINS=https://app.ваш_домен
```

Пример:

```
CORS_ALLOWED_ORIGINS=https://example.com,https://app.example.com
CORS_SUPPORTS_CREDENTIALS=true
SANCTUM_STATEFUL_DOMAINS=https://app.example.com
```

Не используйте пробелы между доменами.
{% endstep %}

{% step %}

### Настройка Laravel Reverb

Laravel Reverb используется системой для работы WebSocket-соединений, realtime-уведомлений, онлайн-статусов и других событий в реальном времени.

Добавьте в файл `.env` следующие параметры:

```
REVERB_HOST=app.ваш_домен
REVERB_PORT=443
REVERB_SCHEME=https
```

Пример:

```
REVERB_HOST=app.example.com
REVERB_PORT=443
REVERB_SCHEME=https
```

{% endstep %}
{% endstepper %}

## Настройка окружения сервера

Для работы Backend необходимо подготовить программное окружение сервера.

{% stepper %}
{% step %}

### Установка PHP 8.4

Перейдите: **«Настройки» — «Приложения»**

<figure><img src="/files/c32prQmmuBMOhsj77M5C" alt=""><figcaption></figcaption></figure>

В поиске укажите: `php84`

Найдите приложение **«PHP 8.4».**

Установите его и дождитесь завершения установки.

После установки приложение должно иметь статус: <mark style="color:green;">**Установлен**</mark>
{% endstep %}

{% step %}

### Установка Redis

Redis используется системой для кеширования, очередей и внутренних процессов.

Перейдите: **«Настройки» — «Приложения»**

<figure><img src="/files/gMfBvb9MVLid97VSuVT9" alt=""><figcaption></figcaption></figure>

Найдите приложение: `redis`

Установите его.

После установки сервис должен иметь статус: <mark style="color:green;">**Установлен**</mark>
{% endstep %}

{% step %}

### Установка PHP-расширений

После установки PHP 8.4 необходимо установить обязательные расширения.

Перейдите: **«Управление» — «PHP» — «Модули PHP»**

Выберите PHP 8.4.

<figure><img src="/files/uQ9ECVob1DFPgjHMCqAP" alt=""><figcaption></figcaption></figure>

Установите следующие модули:

```
gmp
imagick
redis
yaml
sodium
```

После установки убедитесь, что каждый модуль имеет статус **«Установлен».**
{% endstep %}
{% endstepper %}

## Настройка сайта в FastPanel

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

{% stepper %}
{% step %}

### Настройка типа Backend и версии PHP

Перейдите: **«Сайты» — «app.ваш\_домен» — «Настройки»**

<figure><img src="/files/HKm36UztSmZjjfG1fAGa" alt="" width="563"><figcaption></figcaption></figure>

Откройте раздел: Бэкенд (PHP, обратный прокси и т.п.)

Укажите:

<figure><img src="/files/w1qxeuxVpoo9w0gbrGdA" alt="" width="563"><figcaption></figcaption></figure>

```
Тип бэкенда: PHP
Обработчик: PHP-FPM
Версия PHP: 8.4
Количество воркеров: 2
```

{% hint style="warning" %}

## Важно

Для большинства стандартных установок рекомендуется использовать значение 2.

При необходимости количество воркеров можно увеличить.

Чем мощнее сервер и больше доступных ресурсов (CPU и оперативной памяти), тем большее количество воркеров может использоваться для обработки запросов.

\
Если вы не уверены в выборе значения, оставьте рекомендуемое значение 2. Его всегда можно изменить позже в зависимости от нагрузки на проект.
{% endhint %}

Сохраните настройки.
{% endstep %}

{% step %}

### Настройка рабочей директории

В настройках сайта обязательно укажите:&#x20;

* Рабочая поддиректория: **public**
* Файл приложения: **index.php**

Это обязательная настройка для Laravel.

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

После внесения изменений сохраните настройки.
{% endstep %}
{% endstepper %}

## Проверка готовности Backend

Перед переходом к следующему этапу установки рекомендуется выполнить финальную проверку.

Убедитесь, что:

* Backend загружен и распакован;
* файлы лицензии загружены;
* файл `.env` настроен;
* лицензионный ключ добавлен;
* домены настроены корректно;
* база данных подключена;
* база данных импортирована;
* Laravel Pulse настроен;
* PHP 8.4 установлен;
* Redis установлен;
* обязательные PHP-модули установлены;
* сайт работает через PHP-FPM;
* рабочая директория указана как `public`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.iexexchanger.com/get-started/ustanovka/nastroika-fastpanel/nastroika-backend.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
