Сервер S3

Сервер S3

Actica
10 установок
от 499 ₽999 ₽ навсегда

Плагин превращает приложение Webasyst Файлы в полноценный S3‑совместимый сервер: сторонние приложения и клиенты могут подключаться к нему по протоколу S3 и работать с файлами, как с облачным хранилищем (например, Amazon S3, Yandex Cloud Object Storage и т. п.).

Это позволяет использовать Webasyst как централизованное файловое хранилище для других сервисов, скриптов и инструментов, поддерживающих S3.

Что это даёт

Единая точка хранения файлов. Все файлы хранятся в Webasyst Файлы, но доступны из разных систем через стандартный S3‑интерфейс.

Интеграция со сторонними сервисами. Можно подключать CI/CD, бэкап‑скрипты, медиапроцессоры и другие инструменты, которые умеют работать с S3.

Стандартизированный доступ. Не нужно писать кастомные интеграции под каждый сервис: достаточно настроить S3‑клиент на работу с вашим экземпляром Webasyst.

Контроль доступа и прав. Управление пользователями и правами остаётся в экосистеме Webasyst; плагин транслирует эти права в S3‑модель доступа.

Шифрование и безопасность. Передача данных осуществляется через защищённое соединение (TLS), поддерживается стандартная S3‑аутентификация (Signature v4).

После включения плагина в интерфейсе Webasyst появляется S3‑эндпоинт и инструкции по подключению. Работа с файлами внутри самого приложения Files остаётся без изменений: пользователи продолжают загружать, просматривать и удалять файлы привычным способом.

Как настроить

Создайте поселение приложения Файлы в корне одного из сайтов в вашей установке:

Лучше всего для этого создать в вашей DNS-зоне специальный поддомен (например: s3.your-site.ru) и направить его на ваш сервер.

Создайте в приложении Сайт новый сайт для созданного поддомена и поселите в его корень приложение Файлы.

Включите S3-сервер в настройках плагина и выберите в качестве эндпойнта поселение Файлов на созданном поддомене.

Настройте пользователей/ключи доступа. Для каждого пользователя создайте Secret Access Key. Ключи будут привязаны к конкретному пользователю Webasyst и наследовать его права.

Проверьте доступ с помощью любого S3-клиента (см. ниже).

Увеличьте при необходимости лимит максимального размера загружаемых на сайт данных в насторйках PHP и/или веб-сервера.

Современные клиенты для работы с S3

Эти клиенты можно использовать для подключения к вашему Webasyst с включённым плагином «Сервер S3»:

Cyberduck (macOS, Windows) — удобный графический клиент, позволяет подключаться к S3‑хранилищам и работать с файлами как с обычной папкой.

S3 Browser (Windows) — визуальный интерфейс для управления бакетами и файлами, хорошо подходит для ручной работы и проверки.

rclone — инструмент командной строки для синхронизации, копирования и монтирования; отлично подходит для автоматизации и скриптов.

AWS CLI — официальный CLI от Amazon; можно настроить на работу с любым S3‑совместимым эндпоинтом, включая ваш Webasyst.

MinIO Client (mc) — универсальный CLI для S3; поддерживает скрипты, синхронизацию и массовые операции.

Пример настройки подключения (на разных клиентах)

Поддерживается только Path style адресация. Адресация Virtual hosted style на данный момент не поддерживается.

aws configure

В ответ появится последовательно запросы реквизитов для подключения. Заполните их данными для подключения, предоставленными плагином:

Access Key ID: <ваш логин в бекенд Webasyst>

Secret Access Key: <ваш секретный ключ из плагина>

Default region name: <заданный в настройках плагина регион>

Default output format: json

Затем задайте эндпойнт — URL сервера S3, выбранный в настройках плагина:

aws configure set endpoint_url https://s3-subdomain.your-site.ru/

Теперь команды aws s3 ls , aws s3 cp , aws s3 sync будут работать с вашим хранилищем в Webasyst.

Добавьте новое подключение типа «S3 (Path style requests)» или «S3 (Deprecated path style requests)» и укажите:

Сервер: s3-subdomain.your-site.ru

ID Ключа Доступа: ваш логин в бекенд Webasyst

Секретный ключ доступа: ваш секретный ключ из плагина

S3 Browser:

Добавьте новое подключение типа «S3 Compatible Storage» и укажите:

API Endpoint: s3-subdomain.your-site.ru

В конфиге добавьте блок:

provider = Other

env_auth = false

endpoint = https://s3-subdomain.your-site.ru/