Хранение медиа-файлов 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

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

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

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

В этой статье мы рассмотрим пошаговую настройку кластера Kubernetes на Ubuntu 24.04 с тремя узлами: один мастер (который также может запускать пользовательские поды) и два рабочих узла. Мы настроим PersistentVolume…

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

В рамках создания собственного кластера Kubernetes я поднаял кластер Mysql который работает в режиме Master-Slave и Slave-узлы соответственно работают в режиме read-only, а мастер в read-write. Соответственно мне нужен балансировщик…

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

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

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

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования