Подключаем yandex cloud как s3 в Drupal

Облачные файловые хранилища Яндекса можно подключить и использовать в вашем проекте на drupal через модуль s3fs. А именно, хранить там т.н. юзерфайлы, разгрузив дисковое пространство веб-хостинга.

Для начало создаёте облачное хранилище на yandex.cloud — нужен сервис типа object storage. Пока вы не превысите определенную квоту, это будет бесплатно и вы успеете протестировать и отладить подключение.

В облаке потребуется создать т.н. bucket. По сути это будет корневая папка для пользовательских файлов вашего проекта. Т.е. создавая бакеты на облаке, вы сможете использовать их в разных проектах, или разделить файлы локального и прод. сервера и т.п.

Вот типичные настройки прав при создании бакета:

Как видите, я не дал публичных прав доступа, ограниченного доступа будет достаточно. На фронт-енд ссылки на ваш медиа контент будут выглядеть как и должны:

Т.е. домен — storage.yandexcloud.net, моё имя бакета — gp2 и далее идет уже путь объекта в бакете.

Конечно, потребуется еще настроить s3fs, чтобы добиться такого результата.

Настройки S3FS для Yandex.Cloud

Установите/активируйте s3fs модуль.

Часть настроек сделаем через settings.php. При создании облака вы должны были получить необходимые ключи (access и secret).

Тут я устанавливаю, что s3fs используется для публичных и приватных файлов, а также устанавливаю имя бакета.

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

/admin/config/media/s3fs

Перейдем в админку и настроим еще ряд параметров:

Т.к. у облако у нас не на Amazon — требуется указать имя сервера яндекс-облака. Следующую за ним галку тоже стоит поставить.

Чтобы всегда использовать протокол https для объектов облака, чекнем еще одну галку:

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

По сути — этого достаточно, чтобы новые публичные файлы, создаваемые как файлы или сущности медиа библиотеки сохранялись на облаке.

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

Написать комментарий

Мало букафф? Читайте есчо !

Кастомные настройки сайта в Drupal

Март 9, 2025 г.

На сайте всегда (или почти всегда) возникает задача управления настройками вроде телефон, email, какие то текстовые элементы, вроде копирайта, адрес организации и т.п. С точки зрения данных - требуется объект в терминах шаблонов проектирования - синглтон. ...

Читать

Фильтр по годам во views

Март 19, 2025 г.

Задача проста - есть материалы, у которых есть поле даты (timestamp), нужно вывести кнопки фильтрующие список по годам. Дополнительно задача ...

Читать

 

Комментарии к «Подключаем yandex cloud как s3 в Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: