Инструкция по работе с объектным хранилищем Selectel для плагина «загрузка изображений в облако» для Webasyst Shop-Script

  1. Пополнить баланс [doc]
  2. Создать сервисного пользователя от имени которого будет работать плагин [doc]
  3. Выдать S3 ключи сервисному пользователю [doc]
  4. Создать контейнер (он же бакет) [doc]
  5. Настроить доступ к контейнеру [doc]
  6. Настроить плагин
1. Пополнить баланс

Пополнение баланса. Переходим в личный кабинет Selectel, кликаем на текущий баланс. Нам отобразится ссылка «Пополнить баланс». Далее пополняем баланс.

2. Создать сервисного пользователя от имени которого будет работать плагин

Обязательно нужно создать сервисного пользователя — этот пользователь будет работать только с хранилищем. Доступа к остальным ресурсам вашего облачного аккаунта у него не будет.

Переходим в «Управление пользователями». Далее выбираем «Сервисные пользователи», далее нажимаем «Добавить пользователя».

Далее нужно задать имя пользователя, пароль. Обязательно выбрать роль «Пользователь объектного хранилища». Нажать «Добавить пользователя».

После того как пользователь добавлен. Переходим в управление добавленным пользователем.

3. Выдать S3 ключи сервисному пользователю

В разделе S3 ключи добавляем ключ. Нужно задать имя для ключа и выбрать проект в котором будет создаваться объектное хранилище.

Обязательно сохраняем Access key и Secret key — они будут показаны только один раз при создании. Эти данные будут использоваться при настройке плагина.

4. Создать контейнер

Далее переходим к созданию контейнера. Выбираем «Создать контейнер»

Нужно указать имя (будет использоваться в настройках плагина). Выбрать регион и пул.

Тип контейнера указать — «Публичный»

Класс хранения — «Стандартное хранение»

Адресация — отключить «Virtual-Hosted»

Нажать «Создать контейнер»

Далее нужно перейти в контейнер, и на вкладке «Домены», сохранить ссылку на публичный адрес контейнера — понадобится при настройке плагина.

5. Настроить политики доступа к контейнеру

Переходим на вкладку «Политика доступа». Нажимаем «Создать политику доступа».

Задаем имя для нового правила, например, s3-user-policy.

Для переключателя «Доступ» — выбираем «Разрешить». 

«Пользователи» — выбираем «Авторизованные». Выбираем созданного ранее сервисного пользователя, например, s3-user.

«Набор действий» выбираем «Редактор». 

После того как мы выбрали «Редактор» поле «Действия» будет автоматически заполнено. Переходим в редактирование действий. Желательно снять галочку с действия «DeleteBucket«.

Нажимаем «Сохранить» внизу формы редактирования.

6. Переходим к настройкам плагина.

ВНИМАНИЕ!

В текущей версии плагина 1.0.0 для работы с Selectel придется включить режим отладки в настройках сайта. Это будет исправлено в ближайшее время в следующей версии плагина!

Это связано с тем что 1) Selectel для публичного доступа использует отдельный URL (тот самый публичный домен, который можно увидеть на вкладке «Домены» в настройках контейнера). 2) Режим замены URL, который есть в плагине, на данный момент доступен только в режиме отладки.

Включаем режим отладки в настройках сайта.

Сохраняем изменения.

Переходим к настройкам плагина.

Включаем плагин.

Указываем «Имя провайдера» (любая строка, например, Selectel, не влияет на подключение).

В поле «URL адрес для загрузки» указываем ссылку https://s3.ru-1.storage.selcloud.ru

В поле «API ключ» указываем Access key созданного ранее S3 ключа для сервисного пользователя

В поле «API токен» указываем Secret key созданного ранее S3 ключа для сервисного пользователя

В поле «Имя бакета» указываем имя созданного контейнера

В поле «Префикс строка для ключа изображений» по желанию можно указать префикс, например, shop, или другой не слишком длинный идентификатор. Это позволит использовать как бы сохранять все изображения в одной «папке» с этим именем внутри контейнера.

В поле «Для отладки: заменить в строке адреса подстроку с» задать строку: https://s3.ru-1.storage.selcloud.ru/<имя-контейнера> где <имя-контейнера> — это имя созданного контейнера, например, webasyst-test, в данной инструкции. 

В поле «Для отладки: заменить в строке адреса подстроку на» указать имя публичного адреса вашего контейнера. Например, https://443ee25e-e79d-4f48-9122-58269da8b2c7.selstorage.ru

Сохранить изменения.

Далее нужно перейти на страницу плагина, где отображается список изображений и попробовать загрузить любое изображение.

Пробуем загрузить изображение вручную.

Если все настроено корректно, в таблице отобразится дата и время загрузки и так же должно отображаться изображение. Оно уже будет считываться из облака.

Далее для автоматического режима работу нужно будет настроить cron задачу. Это зависит от вашего хостинга.