Хранение медиа-файлов WordPress в S3-хранилище

Оцените статью

В продолжении перевода своих ресурсов в облака следующим этапом необходимо настроить хранение медиа-файлов WordPress в хранилище S3 в облаке Cloud.ru. Задачка довольно типовая, но есть нюансы.

Прежде всего зарегистрируем сервисный ключ доступа к S3 хранилищу и собственно само хранилище

И кстати, обратите внимание, что у Cloud.ru первые 10гб не тарифицируются.

Сервисный аккаунт S3

Задаем осмысленное наименование аккаунта, описание на будущее и уровень аккаунта (Организация).

Ограниченные права доступа

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

Создание ключа доступа

Ключ и пароль обязательно сохраняем их больше нигде не покажут.

Создание объектного хранилища S3

Переходим в раздел Evolution -> Object Storage.

Создать бакет

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

Получаем данные по доступу к бакету в разделе Object Storage API.

Настройка внешнего доступа к файлам в формате CDN для чего в настройка бакета перейдите в раздел «Хостинг сайта» и выберите «Настройка публичного доступа».

Настройка публичного доступа

Открываем публичный доступ к бакету на чтение для всех объектов.

Открываем публичный доступ к бакету.

Назначаем бакету доменное имя в настройках бакета.

Доменное имя бакета.

В настройках хостинг сайта задайте «Главную страницу». Это может быть любой файл, иначе хостинг работать не будет.

Задайте главную страницу сайта.

Соответственно файлы будут доступны по адресу https://interlan.s3-website.cloud.ru и пробуем получить доступ к файлу. Если файл доступен по требуемому адресу, то можно приступать к подключению хранилища (для проверки) и переносу медиа-файлов в хранилище.

Подключаем хранилище

Для тестового подключения S3-бакета воспользуемся инструкцией которую я написал в рамках прохождения курса от Cloud.ru.

Скачиваем и активируем плагин Advanced Media Offloader.

Advanced Media Offloader

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

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

В настройка для Cloud.ru есть несколько нюансов.

  • Cloud Provider: Any S3‑Compatible Storage (MinIO, OVHcloud, …)
  • Provider Name — S3
  • Access Key ID — Tenant.KEY ID
  • Secret Access Key — KEY SECRET
  • S3 Endpoint URL — https://s3.cloud.ru
  • Region — Регион размещения бакета
  • Use Path-Style Endpoint — Включено
  • Bucket Name — Имя бакета
  • Custom Domain (CDN URL) — CDN полученный при задании домена

Запуск синхронизации из WP-CLI

Для обработки большого количества файлов удобно использовать консольную утилиту wp-cli. Давайте рассмотрим как ей пользоваться применительно к докеризованной версии Word Press.

Подключаемся к консоли WP в докер для чего сначала находим интересующий нас контейнер.

$ docker ps
CONTAINER ID   IMAGE              COMMAND                  CREATED          STATUS         PORTS                                                                          NAMES
0a3bc2fe4013   nginx:alpine       "/docker-entrypoint.…"   48 minutes ago   Up 2 minutes   0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp   interlanxyz-nginx-1
2993eb5bde36   wordpress:latest   "docker-entrypoint.s…"   48 minutes ago   Up 2 minutes   80/tcp                                                                         interlanxyz-interlan-wordpress-1
0c222f7fc7fd   redis:alpine       "docker-entrypoint.s…"   48 minutes ago   Up 2 minutes   6379/tcp                                                                       interlanxyz-redis-1
e0cfbc40d482   mysql:8.0          "docker-entrypoint.s…"   48 minutes ago   Up 2 minutes   0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp                                    interlanxyz-mysql-db-1

Подключаемся к интерактивному терминалу и перелогиниваемся в пользователя www-data.

$ docker exec -it 2993eb5bde36 /bin/bash
# su www-data -s /bin/bash

Устанавливаем утилиту управления wp.

$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
$ chmod +x wp-cli.phar
$ mv wp-cli.phar ./wp

Запускаем обработку.

$ ./wp advmo offload

Все доступные команды можно посмотреть на официальном сайте.

Похожие записи

Хранилище артефактов (Docker) Cloud.ru

Продолжаем разбираться с облачной платформой cloud.ru и сегодня займемся хранилищем артефактов. Достоинства хранилища артефактов Docker в Cloud.ru 1. Интеграция с экосистемой Cloud.ru 2. Безопасность 3. Надёжность и доступность 4. Производительность…

Настройка кэширования WordPress при помоши Redis

Прилетела фриланс задачка по оптимизации WordPress сайта. Как обычно на будущее все запишем, чтобы в следующий раз на чиле и расслабоне сделать. Установка и настройка Redis‑сервера Настройка Redis (опционально) Отредактируйте…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Хранилище артефактов (Docker) Cloud.ru

Хранилище артефактов (Docker) Cloud.ru

Хранение медиа-файлов WordPress в S3-хранилище

Хранение медиа-файлов WordPress в S3-хранилище

Настройка кэширования WordPress при помоши Redis

Настройка кэширования WordPress при помоши Redis

Создание кластера Managed Kubernetes в облаке Cloud.ru

Создание кластера Managed Kubernetes в облаке Cloud.ru

Интеграция FreeIPA DNS и BIND DNS

Интеграция FreeIPA DNS и BIND DNS

Настройка централизованной авторизации в домене IPA на RedOS 8

Настройка централизованной авторизации в домене IPA на RedOS 8