Добро пожаловать! Форум WLUX.NET - Игры, Читы, Скрипты, Статьи, Софт, Курсы.

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

Добро пожаловать гость!

Приветствуем вас на нашем форуме! Мы очень рады вас видеть и с большим удовольствием поделимся всей информацией нашего форума!

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

Система наград, ежедневное пополнения тем!

Общайся, получай награды.

Статьи, гайды, софт

У нас вы можете скачать бесплатно читы для игр. Полезные гайды на любые темы и схемы заработка. Есть раздел халявы!

FAQ по форуму

Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

  • Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываются в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки не работают на форуме

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

Скрипт Гайд Используем DigitalOcean Spaces или Amazon S3 для хранения файлов в Xenforo

wlux.net Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
26 928
230
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #1
Зачем этот мануал?
С версии XenForo 2.0.0 поддерживается удаленное хранение файлов при помощи

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

. Она называется абстрагированной файловой системой потому что она добавляет "внешний слой" между кодом и файловой системой. Она представляет API для выполнения операций файловой системы, поэтому будь она на локальном диске или находится на удаленной системе, наш код вызывает те же функции, а Flysystem сделает всё остальное.

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

Поэтому если вы планируете использовать функцию загрузки видео в XF 2.1 и вы волнуетесь об увеличении необходимости требований к свободному месту на диске, или вы все ещё на версии 2.0 и вам нужно разгрузить ваши требования к локальному хранилищу, то приступим.

Автозагрузка AWS SDK (только для XF 2.0.x)
Первым делом сделаем автозагрузку AWS SDK.

Откройте файл src/config.php на вашем сервере форума.

Существует несколько поставщиков (vendor), которые были включены в прикрепленный ранее аддон. Следующие строки гарантируют, что они все уже загружены. Мы делаем это для того, что нам нужно чтобы файлы были доступны как можно раньше:
Скрытое содержимое доступно для зарегистрированных пользователей!


Подготовка к настройке DigitalOcean Spaces
Сначала рассмотрим наиболее простой способ в настройке. Инструкция для Amazon S3 находится ниже.
  1. Заходим на страницу

    Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

    , регистрируемся или авторизуемся там.
  2. Если вы новичек в DigitalOcean, то вам потребуется выбрать тариф и способы оплаты.
  3. Создаем новый проект.
  4. Нажимаем на ссылку "Start using Spaces".
  5. Выберите регион сервера (пример - Amsterdam).
  6. Оставьте "Restrict File Listing" отмеченным.
  7. Введите уникальное имя (пример - xftest).
  8. Нажмите "Create a space"
Проект создан, вы должны найти адрес конечной точки, похожий на это:

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

. Она нам понадобится.

Теперь нужно получить данные для доступа к API. Делаем следующее:
  1. Нажимаем "Manage" в левой панели.
  2. Выбираем "API".
  3. В разделе "Spaces access keys" нажимаем "Generate New Key".
  4. Введите имя ключа (пример - xftest) и сохраните.
На этом этапе мы получили адрес конечной точки, публичный ключ и секретный ключ.

Настройка DigitalOcean Spaces для XF
Теперь нужно настроить XF для использования DigitalOcean Spaces как файловое хранилище. Начнем с папки data (содержит миниатюры вложений и аватары).
Открываем файл src/config.php

Сначала необходимо настроить клиент Amazon S3 (DigitalOcean Spaces API совместим с Amazon AWS SDK).

Весь код копируем в конец файла, не забываем менять xftest на свой.
Используем анонимную функцию, чтобы мы могли использовать её повторно в коде:


В поля key и secret вставляем ранее полученные данные на предыдущем этапе. Регион (поле region) должно быть взято с адреса конечной точки. Он является частью адреса, начинается после первой точки в адресе, в нашем случае это ams3. Конечная точка (поле endpoint) то же самое, что и адрес конечной точки, только без уникального имени.
Далее настраиваем адаптер Flysystem (для использования клиента S3):


Теперь файлы будут храниться в папке data на нашем удаленном хранилище.

Теперь нужно чтобы ссылки миниатюр и аватаров ссылались на верный адрес:
Скрытое содержимое доступно для зарегистрированных пользователей!


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

Необходимо проверить то, что мы настроили всё правильно. Загрузите новый аватар и проверьте, сохранилась ли она на удаленном хранилище:
Необходимо проверить то, что мы настроили всё правильно. Загрузите новый аватар и проверьте, сохранилась ли она на удаленном хранилище.png

Теперь нужно настроить для папки internal_data, хранящая вложения и остальные вещи, которые должны быть закрыты для общего доступа. Добавляем:


Подготовка к настройке Amazon S3
  1. Переходим на страницу

    Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

    , регистрируемся или авторизуемся.
  2. В разделе "AWS services" введи "S3" для перехода к "S3 Console".
  3. Нажми "Create bucket".
  4. Введи имя для bucket (пример - xftest).
  5. Выбери регион (пример - EU London).
  6. Выберите дополнительные параметры по умолчанию.
  7. Переходим в "IAM"
  8. Нажимаем "Add user".
  9. Введи имя пользователя (пример - xftest).
  10. Выбери тип доступа (access type) "Programmatic".
  11. Чтобы установить права, выбери вкладку "Attach existing policies directly", затем "Create policy".
  12. IAM и другие политики и права могут быть довольно пугающими. Мы поступим немного проще, даже если вы имеете другие требования. На этой странице есть вкладка "JSON. Вставьте это туда, замените YOUR-BUCKET-NAME на ваше название bucket, введенное ранее:


  1. Нажмите "Review Policy", дайте имя и сохраните.
  2. Вернитесь назад к странице "Add user", нажмите кнопку "Refresh" и найдите политику, которую вы только что создали.
  3. Нажмите "Next", потом "Create User"
Вы должны получить публичный ключ и секретный ключ. Они понадобятся нам дальше.

Настройка Amazon S3 для XF
Теперь нужно настроить XF для использования Amazon S3 как файловое хранилище. Начнем с папки data (содержит миниатюры вложений и аватары).
Открываем файл src/config.php

Сначала необходимо настроить клиент Amazon S3.

Весь код копируем в конец файла, не забываем менять xftest на свой.
Используем анонимную функцию, чтобы мы могли использовать её повторно в коде:

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


В поля key и secret вставляем ранее полученные данные на предыдущем этапе. Регион (поле region) должно быть взято с адреса конечной точки.

Далее настраиваем адаптер Flysystem (для использования клиента S3):
Скрытое содержимое доступно для зарегистрированных пользователей!


Теперь файлы будут храниться в папке data на нашем удаленном хранилище.

Теперь нужно чтобы ссылки миниатюр и аватаров ссылались на верный адрес:
Скрытое содержимое доступно для зарегистрированных пользователей!


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

Необходимо проверить то, что мы настроили всё правильно. Загрузите новый аватар и проверьте, сохранилась ли она на удаленном хранилище:
Необходимо проверить то, что мы настроили всё правильно. Загрузите новый аватар и проверьте, сохранилась ли она на удаленном хранилище2.png

Теперь нужно настроить для папки internal_data, хранящая вложения и остальные вещи, которые должны быть закрыты для общего доступа. Добавляем:
Скрытое содержимое доступно для зарегистрированных пользователей!


Перемещение существующих файлов на DigitalOcean Spaces или Amazon S3
Итак, теперь файлы у нас хранятся на удаленном хранилище. Но что насчет существующих файлов?
Существует несколько методов для совершения этого процесса, но, пожалуй, лучший подход - использование инструмента под названием

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

, являющаяся популярным кросс-платформенным консольным инструментом для управления S3 и S3-совместимых хранилищ.

Устанавливаем s3cmd на ваш сервер и запускаем команду копирования файлов в "новый дом"

Ссылка на использование s3cmd:

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.


Примечание: При копировании файлов необходимо сделать их общедоступными. Вам необходимо настроить списки контроля доступа (ACL) на время пока вы копируете файлы:

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

 

Вложения

  • _XFAws-2.4.1.zip
    _XFAws-2.4.1.zip
    712,4 КБ · Просмотры: 0

Поиск по форуму

shape1
shape2
shape3
shape4
shape7
shape8
Верх