Сайты и пользователи FASTPANEL
Создание сайтов, пользователей, каталогов и ограниченного доступа FASTPANEL для iEXExchanger
iEXExchanger состоит как минимум из клиентского сайта и серверной части. Создавайте их как отдельные сайты FASTPANEL с разными системными владельцами. Это отделяет файлы и процессы и не даёт клиентскому приложению изменять серверную часть.
План сайтов
Клиентский
ваш_домен
Node.js SSR за Nginx и статические файлы
Серверный
app.ваш_домен
PHP-приложение с публичным каталогом
Технический домен самой FASTPANEL создаётся отдельно и не используется как домен iEXExchanger.
Создание серверного сайта
В FASTPANEL нажмите «Создать сайт» (Create site).
Укажите
app.ваш_доменбез протокола и пути.Создайте отдельного владельца сайта.
Выберите PHP как backend.
Не создавайте MySQL, если проект использует PostgreSQL.
Завершите мастер и сохраните выданные данные в менеджер секретов.
В настройках сайта выберите требуемую проектом версию PHP.
Укажите публичный каталог приложения как document root.
Выпустите сертификат после готовности DNS.
FASTPANEL рекомендует отдельного пользователя для каждого сайта; типы backend и шаги мастера описаны в официальной инструкции.
Пошаговый вариант интерфейса на сервере Timeweb Cloud находится в статье «Размещение сайта на сервере с Fastpanel». Используйте её для навигации по панели, но сохраняйте описанное выше разделение клиентского и серверного сайтов iEXExchanger.
Создание клиентского сайта
Создайте второй сайт для
ваш_доменс другим владельцем.Не подключайте его к базе серверной части.
Разместите собранные статические файлы в каталоге клиента.
Запустите SSR-процесс от владельца клиентского сайта через PM2.
Настройте Nginx для передачи динамических запросов во внутренний SSR-процесс.
Добавьте только подтверждённые прокси-пути к серверной части.
Проверьте статические файлы, главную страницу и страницу заявки.
Внутренний порт SSR слушает loopback-интерфейс и не открывается в сетевом экране. Публичный запрос принимает Nginx по HTTPS.
Владелец и права файлов
Команды приложения выполняйте от владельца соответствующего сайта. Перед выполнением проверьте пользователя и каталог:
Composer, Artisan, npm и PM2 нельзя запускать от root в каталоге сайта. Иначе появляются файлы с неправильным владельцем, а последующее обновление завершается ошибками доступа.
Не исправляйте права рекурсивным разрешением записи всем пользователям. Сначала определите владельца процесса, затем восстановите владельца каталога и минимальные права только на требуемых директориях.
Доступ подрядчика
В карточке сайта откройте «Доступ к управлению» (Access to management), укажите email подрядчика и разрешите только нужные области: файлы, база, планировщик или FTP. Не выдавайте ему главную учётную запись FASTPANEL.
По окончании работ удалите дополнительный доступ, SSH-ключ и временные токены. Официальный порядок ограниченного доступа описан в справке FASTPANEL.
Проверка разделения
Владелец клиентского сайта не может читать файл окружения серверной части.
Владелец серверного сайта не управляет PM2 другого пользователя без административного действия.
Web-процесс пишет только в предусмотренные каталоги приложения.
Оба домена имеют отдельные корректные настройки и журналы.
Удаление тестового сайта не затрагивает рабочую базу или каталог.
Не связывайте рабочую базу с временным сайтом в FASTPANEL: при удалении связанного сайта панель может предложить удалить и связанные ресурсы.
Последнее обновление
Это было полезно?