Интеграция S3-хранилища в файловый менеджер Joomla
Подключение облачного хранилища S3 (например, Yandex Object Storage) к CMS Joomla позволяет загружать изображения напрямую из бакета на сайт, минуя локальный сервер. Это ускоряет работу сайта, снижает нагрузку на хостинг и упрощает управление медиафайлами. В этой статье мы разберём, как реализовать интеграцию с помощью плагинов Media Manager и AS3 Cloud File Manager, чтобы облачные папки отображались в админ-панели Joomla как локальные.
Зачем подключать S3-хранилище к Joomla?
Использование объектного хранилища (S3-совместимого) даёт ряд преимуществ:
- Экономия дискового пространства на хостинге - все медиафайлы хранятся в облаке.
- Высокая скорость загрузки - контент доставляется через CDN облачного провайдера.
- Автоматическое резервирование - данные не пропадут при сбое сервера.
- Удобство работы - папки и файлы из бакета видны прямо в файловом менеджере Joomla.
Какой плагин выбрать: Media Manager или AS3 Cloud File Manager?
Плагин Media Manager (Joomla 4+)
Начиная с Joomla 4, встроенный медиа-менеджер поддерживает внешние адаптеры, включая S3-совместимые хранилища. Для подключения Yandex Object Storage потребуется установить расширение Media Manager S3 Adapter (например, от сторонних разработчиков). После установки в настройках укажите:
- Endpoint - https://storage.yandexcloud.net
- Bucket - имя вашего бакета в Yandex Cloud
- Access Key и Secret Key - из сервисного аккаунта Yandex
- Region - ru-central1 (или другой регион)
После сохранения в медиа-менеджере появится новая вкладка с содержимым бакета. Папки и файлы будут отображаться как локальные, и вы сможете вставлять их в статьи, создавать фотогалереи через стандартные модули (например, Mod_Gallery).
Плагин AS3 Cloud File Manager
Этот плагин (ранее назывался Amazon S3 Cloud File Manager) поддерживает любое S3-совместимое хранилище, включая Yandex Object Storage. Он добавляет в админ-панель Joomla отдельный раздел «Cloud Files», где можно просматривать бакеты, загружать и удалять файлы. Настройка аналогична:
- Укажите Service Endpoint - https://storage.yandexcloud.net
- Введите Access Key и Secret Key
- Выберите бакет по умолчанию
Плагин позволяет прикреплять файлы из облака к материалам через кнопку в редакторе. Однако для автоматического отображения папок в стандартном файловом менеджере Joomla может потребоваться дополнительный мост (например, CloudFS).
Пошаговая инструкция подключения Yandex Object Storage к Joomla
Выполните следующие шаги:
- Создайте бакет в Yandex Object Storage и настройте публичный доступ на чтение (если изображения должны отображаться на сайте).
- Сгенерируйте ключи доступа в сервисном аккаунте Yandex Cloud с правами на хранилище.
- Установите плагин (Media Manager S3 Adapter или AS3 Cloud File Manager) через менеджер расширений Joomla.
- Введите параметры подключения: Endpoint, Bucket, Access Key, Secret Key, Region.
- Проверьте соединение - в медиа-менеджере должны появиться файлы из бакета.
- Используйте изображения в статьях, модулях галерей или прямо в редакторе.
Возможные проблемы и их решение
Если папки не отображаются, проверьте:
- Правильность ключей доступа (должны быть активны).
- Настройки CORS в бакете (разрешите методы GET, HEAD для домена сайта).
- Версию PHP - для S3-адаптеров требуется PHP 7.4+.
- Наличие модуля
curlна сервере.
Если вы используете плагин AS3, убедитесь, что в его настройках включена опция «Show in Media Manager» - тогда облачные папки появятся в стандартном файловом менеджере Joomla.
Создание фотогалереи из облачных папок
После интеграции вы можете использовать любой модуль галереи, поддерживающий внешние источники. Например:
- Joomla Gallery - выберите источник «Cloud Folder» и укажите путь к бакету.
- Phoca Gallery - через плагин S3-адаптер.
- Simple Image Gallery - вставьте код с прямыми ссылками на файлы из бакета.
Главное - чтобы у файлов был публичный URL (например, https://storage.yandexcloud.net/ваш-бакет/папка/фото.jpg).