Nextcloud может хранить файлы пользователей в облачном хранилище S3 вместо локального диска сервера. Такая схема снимает ограничение по месту и упрощает масштабирование.
Что понадобится
Access Key и Secret Key из личного кабинета, приватный бакет и доступ к серверу с установленным Nextcloud.
Вариант 1. S3 как основное хранилище
Все файлы всех пользователей размещаются в бакете. Настраивается до начала работы с системой: при переносе существующих данных потребуется миграция.
Откройте файл config/config.php и добавьте блок:
'objectstore' => array(
'class' => '\\OC\\Files\\ObjectStore\\S3',
'arguments' => array(
'bucket' => 'имя-бакета',
'autocreate' => true,
'key' => 'ВАШ_ACCESS_KEY',
'secret' => 'ВАШ_SECRET_KEY',
'hostname' => 's3.hostflyby.net',
'port' => 443,
'use_ssl' => true,
'region' => 'us-east-1',
'use_path_style' => true
),
),
Параметр use_path_style укажите равным true, если endpoint не поддерживает обращение к бакету через поддомен.
После сохранения файла перезапустите веб-сервер и проверьте загрузку файла через интерфейс Nextcloud.
Вариант 2. S3 как внешнее хранилище
Бакет подключается отдельной папкой, основные файлы остаются на сервере. Подходит для архивов и общих каталогов.
- Войдите в Nextcloud под администратором.
- Откройте «Приложения» и включите External storage support.
- Перейдите в «Параметры» → «Администрирование» → «Внешние хранилища».
- Добавьте хранилище: имя папки — произвольное; тип — Amazon S3; аутентификация — Access key.
- Заполните поля: бакет — имя бакета; хост — s3.hostflyby.net; порт — 443; регион — us-east-1; включите SSL и Path style; укажите Access Key и Secret Key.
- Сохраните. Зелёная отметка слева означает успешное подключение.
Частые ошибки
Красная отметка при сохранении внешнего хранилища. Проверьте ключи и адрес хоста: он указывается без протокола и без имени бакета.
Ошибка при загрузке больших файлов. Увеличьте значения upload_max_filesize и post_max_size в настройках PHP.
Файлы загружаются, но не открываются. Убедитесь, что параметр use_path_style соответствует схеме адресации вашего хранилища.
