1. Установите s3fs
Для Ubuntu/Debian:
sudo apt update sudo apt install s3fs
Для CentOS/RHEL:
sudo yum install epel-release sudo yum install s3fs-fuse
🔐 2. Создайте файл с доступом к вашему бакету
echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ~/.passwd-s3fs chmod 600 ~/.passwd-s3fs
Замените ACCESS_KEY_ID и SECRET_ACCESS_KEY на реальные данные от провайдера.
📁 3. Создайте точку монтирования
mkdir -p /home/bitrix/www/upload
🪝 4. Подключите S3-бакет в папку
Пример для Hetzner /Selectel / 1stVDS / другого S3-совместимого хранилища:
s3fs your-bucket-name /home/bitrix/www/upload \ -o url=https://s3.eu-central-1.hetzner.cloud \ -o use_path_request_style \ -o allow_other \ -o passwd_file=/root/.passwd-s3fs \ -o uid=600 -o gid=600
📌 Опции:
bucket-name — имя бакета.
url=… — URL S3 совместимого endpoint’а.
use_path_request_style — для работы с кастомными endpoint’ами (важно!).
passwd_file=… — где лежат ключи.
allow_other — доступ другим пользователям (нужен, если веб-сервер работает от другого юзера).
uid, gid — права на пользователя и группу (например, bitrix).
umask — маска прав на файлы (например, 0022 → 755/644).
🔁 5. Добавьте в автозагрузку (по желанию)
Добавьте строку в /etc/fstab, чтобы монтировалось при старте:
echo "your-bucket-name /home/bitrix/www/upload fuse.s3fs _netdev,allow_other,url=https://s3.eu-central-1.hetzner.cloud,use_path_request_style,passwd_file=/root/.passwd-s3fs,uid=600,gid=600 0 0" >> /etc/fstab
Затем:
sudo mount -a
📤 6. Проверка
Загрузите файл и убедитесь, что он появился в бакете и наоборот:
[/php]
echo ‘Hello from Bitrix!’ > /home/bitrix/www/upload/test.txt
ls /home/bitrix/www/upload
[/php]
🛑 7. Отмонтирование (если нужно)
fusermount -u /home/bitrix/www/upload