Раздача статичного контента

Для решения проблемы нехватки дискового пространства при хранении больших объемов статичного контента и долгой загрузки страниц разработчики CMS интегрируют собственные продукты с облачными хранилищами.

Преимущества таких решений:

  • хранение больших объемов данных в «облаках» обходится дешевле по сравнению с традиционным хранением;

  • использование «облаков» позволяет эффективно решить проблему доступности данных: неполадки в работе облачных сервисов случаются значительно реже, чем падения традиционных серверов;

  • при смене хостинг-провайдера отпадает необходимость переноса большого количества файлов вручную;

  • благодаря использованию сетей доставки контента (CDN) скорость доставки файлов пользователям существенно увеличивается;

  • так как пользователи скачивают файлы не с сайта, а через CDN, нагрузка на серверы снижается;

  • провайдеры облачных услуг гарантируют сохранность данных клиентов: так, в нашем хранилище все загружаемые данные одновременно копируются на несколько независимых серверов, а недостающие данные восстанавливаются автоматически.

Подключение к 1С-Битрикс

Для того чтобы подключить облачное хранилище Selectel к CMS 1C-Битрикс необходимо выполнить следующие действия:

  1. Зарегистрируйтесь на сайте https://selectel.ru для получения логина и пароля.

  2. Выберите в главном меню панели администрирования 1С-Битрикс пункт Настройки → Облачные хранилища

  3. На экране появится список поддерживаемых сервисов:

    image

  4. Нажмите кнопку Добавить, расположенную над списком.

  5. Откроется окно настройки параметров подключения и использования облачного хранилища. В выпадающем списке провайдеров выберите Selectel:

    image

  6. После этого окно настроек будет выглядеть так:

    image

  7. В поле Имя сервера (API host) введите auth.selcdn.ru

  8. В поле Имя пользователя (API user) введите логин (номер договора), полученный при регистрации.

  9. В поле Ключ доступа (API key) введите пароль, который можно узнать в разделе панели управления Облачное хранилище → Пользовател».

  10. 1С-Битрикс автоматически создаст контейнер в облачном хранилище. Вновь созданному контейнеру по умолчанию присваивается сгенерированное программой имя, представляющее собой сочетание букв и цифр.

  11. Отредактируйте название контейнера.

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

В облачном хранилище Selectel будет создан контейнер, куда будут автоматически помещаться файлы, загружаемые через CMS 1C-Битрикс.

Примечание

1С-Битрикс создает все контейнеры публичными, даже если указать заранее созданный приватный контейнер (это зашито в его код).

Подключение к Worpdress

Плагин Selectel Storage Upload

Плагин Selectel Storage Upload предназначен для синхронизации файлов, помещенных в медиабиблиотеку WordPress, с нашим облачным хранилищем. Его можно установить как через графический интерфейс WordPress (меню ПлагиныДобавить новый), так и вручную (скачать можно здесь).

По завершении установки Selectel Storage Upload будет добавлен в список доступных плагинов. Активируйте плагин чтобы приступить к работе.

Для настройки плагина выполните следующие действия:

  1. Откройте хранилище под своей учётной записью и создайте контейнер, в котором будут храниться медиафайлы.

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

  3. В меню WordPress выберите пункт «Настройки» → «Selectel Upload». 

  4. Откроется следующая страница:

    image

  5. Укажите реквизиты доступа (имя и пароль созданного дополнительного пользователя), а также имя контейнера для медиафайлов. Путь к медиафайлам на локальной машине, а также URL авторизации в хранилище устанавливаются по умолчанию.

  6. Нажмите кнопку Сохранить изменения.

Можно настроить плагин так, что все загружаемые файлы будут сразу же помещаться в хранилище, минуя медиабиблиотеку, и находиться только там. Для этого нужно установить флажок Хранить файлы только в Selectel Storage.

К контейнеру, где будут храниться медиафайлы, должен быть обязательно прикреплен домен. В поле Полный URL-путь к файлам нужно будет указать адрес этого домена (например, http://uploads.example.com).

Можно раздавать файлы и без прикрепления домена. В поле Полный URL-путь к файлам в этом случае нужно будет указать адрес вида http://xxx.selcdn.com/имя контейнера.

Плагин W3 Total Cache

Для ускорения и оптимизации работы сайтов на Wordpress существует целый ряд специализированных плагинов, самым известным из которых является W3 Total Cache. С его помощью и используя наше облачное хранилище можно организовать раздачу статики через CDN.

После установки плагина проверьте конфигурационные файлы.

В файле wp-config.php обязательно должны присутствовать следующие строки (если их нет, то их нужно будет добавить вручную):

/** Enable W3 Total Cache */
define('WP_CACHE', true); // Added by W3 Total Cache

Файл .htaccess должен выглядеть так (соответствующие изменения в случае необходимости внесите вручную):

#BEGIN W3TC Browser Cache
<IfModule mod_deflate.c>
   <IfModule mod_headers.c>
       Header append Vary User-Agent env=!dont-vary
   </IfModule>
   <IfModule mod_filter.c>
       AddOutputFilterByType DEFLATE text/css text/x-component application/x-j$
   <IfModule mod_mime.c>
       # DEFLATE by extension
       AddOutputFilter DEFLATE js css htm html xml
   </IfModule>
   </IfModule>
</IfModule>
# END W3TC Browser Cache
# BEGIN W3TC CDN
<FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css)$">
<IfModule mod_headers.c>
   Header set Access-Control-Allow-Origin "*"
</IfModule>
# END W3TC CDN

Сохраните внесенные изменения и перейдите непосредственно к настройке плагина:

  1. После установки W3 Total Cache в главном меню появится новый пункт Performance.

  2. Выберите PerformanceGeneral Settings.

  3. На открывшейся странице перейдите в раздел CDN.

  4. Установите флажок Enabled.

  5. Выберите в списке CDN Type пункт Self Hosted/File Transfer Protocol Upload:

    image

  6. Сохраните настройки.

  7. Выберите в меню пункт PerformanceCDN.

  8. Откроется страница настроек. Обратите внимание на поле Configuration:

    image

  9. В поле FTP hostname укажите ftp.selcdn.ru, в полях FTP Username и FTP Password - имя пользователя и пароль (помните о том, что для работы с FTP лучше создать отдельного пользователя с ограниченными правами доступа).

  10. В поле FTP path укажите имя контейнера, в котором будут храниться статические файлы сайта, перед именем нужно поставить слэш (например, /mysite).

  11. В поле Replace your hostname with: введите каноническое имя, которое будет отображаться в адресах загружаемых файлов вместо «***.selcdn.com». При загрузке сайта ссылки на изображение будут содержать CNAME, а не фактический домен.

Чтобы сайт работал еще быстрее, можно указать несколько CNAME-записей, каждая их которых будет закреплена за определенным типом контента.

Установив нужные настройки, нажмите кнопку Save All Settings.

Внутри указанного контейнера будет автоматически создана папка /wp-content/upload, в которой будет храниться весь статичный контент.

Плагин UpdraftPlus

UpdraftPlus — простой и удобный в обращении плагин для создания резервных копий сайтов на Wordpress, поддерживающий протокол OpenStack Swift.

Перед установкой этого плагина выполните ряд подготовительных действий:

  • создайте в хранилище контейнер, в который будут помещаться резервные копии;

  • создайте специального пользователя, который будет иметь доступ только к этому контейнеру;

  • на сервере создайте папку в директории wp-content для временного хранения резервных копий, доступную для записи.

Установите UpdraftPlus следуя инструкции:

  1. Выберите в меню Плагины пункт Добавить новый.

  2. После активации плагина в меню Настройки будет добавлен пункт Резервные копии Updraft Plus.

  3. Выберите этот пункт и перейдите на вкладку Настройки.

  4. В списке Выберите ваше удаленное хранилище выберите OpenStack Swift.

  5. Укажите реквизиты доступа к хранилищу:

    image

  6. В поле URI для авторизации укажите https://auth.selcdn.ru.

  7. В поле Арендатор (именно так в русской версии плагина передается термин tenant) введите номер учетной записи.

  8. Введите в соответствующих полях имя созданного дополнительного пользователя и его пароль.

  9. В поле Контейнер укажите имя контейнера, в котором будут храниться резервные копии.

  10. После заполнения всех полей нажмите кнопку Проверить настройки OpenStack.

  11. В случае успешной проверки будет выведено сообщение о том, что плагин получил доступ к контейнеру и может создавать в нём файлы.

    image

  12. Далее перейдите в раздел Расширенные/отладочные настройки и нажмите на ссылку Показать экспертные настройки.

  13. В поле Директория резервного копирования введите имя созданной ранее папки для временного хранения резервных копий.

Плагин настроен для работы с хранилищем.

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

Установив все необходимые параметры, нажмите кнопку Сохранить настройки и перейдите на вкладку Текущий статус:

Для того чтобы запустить процесс резервного копирования нажмите кнопку Создать РК сейчас.

image

Операция восстановление данных из резервной копии также выполняется путем нажатия на соответствующую кнопку.