For the complete documentation index, see llms.txt. This page is also available as Markdown.

Сайты и пользователи FASTPANEL

Создание сайтов, пользователей, каталогов и ограниченного доступа FASTPANEL для iEXExchanger

iEXExchanger состоит как минимум из клиентского сайта и серверной части. Создавайте их как отдельные сайты FASTPANEL с разными системными владельцами. Это отделяет файлы и процессы и не даёт клиентскому приложению изменять серверную часть.

План сайтов

Сайт
Домен
Тип работы

Клиентский

ваш_домен

Node.js SSR за Nginx и статические файлы

Серверный

app.ваш_домен

PHP-приложение с публичным каталогом

Технический домен самой FASTPANEL создаётся отдельно и не используется как домен iEXExchanger.

Создание серверного сайта

  1. В FASTPANEL нажмите «Создать сайт» (Create site).

  2. Укажите app.ваш_домен без протокола и пути.

  3. Создайте отдельного владельца сайта.

  4. Выберите PHP как backend.

  5. Не создавайте MySQL, если проект использует PostgreSQL.

  6. Завершите мастер и сохраните выданные данные в менеджер секретов.

  7. В настройках сайта выберите требуемую проектом версию PHP.

  8. Укажите публичный каталог приложения как document root.

  9. Выпустите сертификат после готовности DNS.

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

Пошаговый вариант интерфейса на сервере Timeweb Cloud находится в статье «Размещение сайта на сервере с Fastpanel». Используйте её для навигации по панели, но сохраняйте описанное выше разделение клиентского и серверного сайтов iEXExchanger.

Создание клиентского сайта

  1. Создайте второй сайт для ваш_домен с другим владельцем.

  2. Не подключайте его к базе серверной части.

  3. Разместите собранные статические файлы в каталоге клиента.

  4. Запустите SSR-процесс от владельца клиентского сайта через PM2.

  5. Настройте Nginx для передачи динамических запросов во внутренний SSR-процесс.

  6. Добавьте только подтверждённые прокси-пути к серверной части.

  7. Проверьте статические файлы, главную страницу и страницу заявки.

Внутренний порт SSR слушает loopback-интерфейс и не открывается в сетевом экране. Публичный запрос принимает Nginx по HTTPS.

Владелец и права файлов

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

Composer, Artisan, npm и PM2 нельзя запускать от root в каталоге сайта. Иначе появляются файлы с неправильным владельцем, а последующее обновление завершается ошибками доступа.

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

Доступ подрядчика

В карточке сайта откройте «Доступ к управлению» (Access to management), укажите email подрядчика и разрешите только нужные области: файлы, база, планировщик или FTP. Не выдавайте ему главную учётную запись FASTPANEL.

По окончании работ удалите дополнительный доступ, SSH-ключ и временные токены. Официальный порядок ограниченного доступа описан в справке FASTPANEL.

Проверка разделения

  1. Владелец клиентского сайта не может читать файл окружения серверной части.

  2. Владелец серверного сайта не управляет PM2 другого пользователя без административного действия.

  3. Web-процесс пишет только в предусмотренные каталоги приложения.

  4. Оба домена имеют отдельные корректные настройки и журналы.

  5. Удаление тестового сайта не затрагивает рабочую базу или каталог.

Не связывайте рабочую базу с временным сайтом в FASTPANEL: при удалении связанного сайта панель может предложить удалить и связанные ресурсы.

Последнее обновление

Это было полезно?