bolt Valebyte VPS от $4/мес — NVMe, запуск за 60 секунд.

Получить VPS arrow_forward
eco Начальный Туториал

Установка File Browser на VPS: управление файлами через веб-интерфейс с Nginx и SSL

calendar_month Aug 11, 2026 schedule 20 мин. чтения visibility 10 просмотров
Установка File Browser на VPS: управление файлами через веб-интерфейс с Nginx и SSL
info

Нужен сервер для этого гайда? Мы предлагаем выделенные серверы и VPS в 50+ странах с мгновенной настройкой.

Нужен сервер для этого гайда?

Разверните VPS или выделенный сервер за минуты.

Установка File Browser на VPS: управление файлами через веб-интерфейс с Nginx и SSL

TL;DR

В этом руководстве мы настроим File Browser — легковесный веб-интерфейс для управления файлами — на вашем VPS. Мы обеспечим безопасный доступ через Nginx в качестве обратного прокси и защитим соединение с помощью SSL-сертификатов от Let's Encrypt, полученных через Certbot. В результате вы получите полностью контролируемое облачное хранилище файлов, доступное из любой точки мира через браузер.

  • Установка File Browser как системного сервиса для автоматического запуска.
  • Конфигурация Nginx для маршрутизации трафика и работы в качестве обратного прокси.
  • Настройка SSL/TLS с помощью Certbot для безопасного HTTPS-соединения.
  • Обеспечение базовой безопасности сервера с помощью UFW и Fail2ban.
  • Рекомендации по резервному копированию и обслуживанию системы.
  • Полный контроль над вашими файлами и данными без сторонних сервисов.

Что мы настраиваем и зачем

Схема: Что мы настраиваем и зачем
Схема: Что мы настраиваем и зачем

В современном мире, где данные играют ключевую роль, возможность управлять своими файлами из любой точки мира становится необходимостью. Облачные хранилища, такие как Google Drive, Dropbox или OneDrive, предлагают удобство, но часто ценой конфиденциальности и полного контроля. Для тех, кто ценит независимость и безопасность, идеальным решением является развертывание собственного файлового менеджера на виртуальном частном сервере (VPS) или выделенном сервере.

Мы будем устанавливать File Browser — легкий и мощный файловый менеджер с веб-интерфейсом. Это однобинарное приложение, написанное на Go, что делает его чрезвычайно эффективным, простым в развертывании и эксплуатации. File Browser позволяет вам загружать, скачивать, просматривать, редактировать, удалять и делиться файлами и папками прямо из вашего веб-браузера. Он поддерживает множество пользователей с различными правами доступа, что делает его отличным выбором как для личного использования, так и для небольших команд.

Что получит читатель в итоге

По завершении этого руководства вы получите полностью функционирующую систему управления файлами, доступную по защищенному HTTPS-соединению через ваш домен. Вы сможете:

  • Получить доступ к своим файлам на VPS через интуитивно понятный веб-интерфейс.
  • Загружать и скачивать файлы и папки.
  • Создавать, переименовывать, перемещать и удалять файлы и каталоги.
  • Просматривать медиафайлы и редактировать текстовые документы прямо в браузере.
  • Настраивать несколько пользователей с индивидуальными правами доступа к различным каталогам.
  • Делиться файлами и папками с другими пользователями по временным или постоянным ссылкам.

Какие альтернативы есть и почему self-hosted на VPS

Существует несколько подходов к управлению файлами:

  • Облачные сервисы (Google Drive, Dropbox, iCloud): Удобны, не требуют настройки, но вы не контролируете свои данные, зависите от политики провайдера и часто платите абонентскую плату.
  • Комплексные self-hosted решения (Nextcloud, ownCloud): Предлагают широкий спектр функций (календари, контакты, заметки, синхронизация), но значительно тяжелее, требуют базу данных и более сложны в настройке и обслуживании. Для простой задачи управления файлами они могут быть избыточными.
  • Протоколы (SFTP, SMB/CIFS): Требуют специализированного клиентского ПО, менее удобны для быстрого доступа из браузера и не всегда подходят для нетехнических пользователей.

Почему File Browser на VPS? Выбор File Browser на VPS — это золотая середина. Вы получаете полный контроль над своими данными, высокую производительность и гибкость, при этом File Browser остается легким и простым в управлении. Это идеальное решение для:

  • Личного "облака" для хранения документов, фотографий и видео.
  • Обмена файлами внутри небольшой команды или семьи.
  • Доступа к файлам проекта для разработчиков и дизайнеров.
  • Управления файлами на сервере без необходимости использования SSH и командной строки.

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

Какой VPS-конфиг нужен под эту задачу

Схема: Какой VPS-конфиг нужен под эту задачу
Схема: Какой VPS-конфиг нужен под эту задачу

File Browser — очень легкое приложение, поэтому его требования к ресурсам минимальны. Однако, общие рекомендации для VPS включают ресурсы, необходимые для операционной системы, потенциального хранения файлов и обеспечения стабильной работы Nginx и Certbot.

Минимальные требования

  • CPU: 1 vCPU с частотой от 2 ГГц. File Browser не требователен к процессору, если нет интенсивной обработки файлов (например, массовой конвертации).
  • RAM: 1 ГБ оперативной памяти. Этого достаточно для ОС (например, Ubuntu 24.04 LTS), File Browser, Nginx и Certbot. Если вы планируете загружать очень большие файлы или обслуживать много одновременных пользователей, рассмотрите 2 ГБ.
  • Диск: 20-40 ГБ SSD. Сама система и ПО займут 10-15 ГБ. Остальное — для ваших файлов. SSD настоятельно рекомендуется для быстрой работы с файлами.
  • Сеть: 100 Мбит/с или 1 Гбит/с порт с неограниченным или достаточным трафиком. Скорость сети будет напрямую влиять на скорость загрузки и скачивания файлов.

Конкретный VPS-план под задачу

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

  • CPU: 2 vCPU
  • RAM: 2-4 ГБ
  • Диск: 80-100 ГБ NVMe/SSD
  • Сеть: 1 Гбит/с порт

Такой конфигурации будет более чем достаточно для комфортной работы с File Browser, хранения десятков тысяч файлов и обслуживания нескольких десятков одновременных пользователей. Для этих целей можно взять VPS с указанными характеристиками.

Когда нужен dedicated, а не VPS

Выделенный сервер (dedicated server) может потребоваться в следующих случаях:

  • Очень большой объем данных: Если вы планируете хранить терабайты данных, для которых VPS может быть слишком дорогим или иметь ограничения по дисковому пространству.
  • Высокая нагрузка: Сотни одновременных пользователей, постоянная интенсивная загрузка/скачивание.
  • Специфические требования к производительности: Например, для приложений, которые интенсивно используют дисковую подсистему или требуют максимальной производительности CPU без "соседей" на том же физическом хосте.
  • Требования к соответствию: Некоторые регуляторные нормы могут требовать полного физического разделения аппаратного обеспечения.

Для File Browser в большинстве случаев VPS — это оптимальный выбор по соотношению цена/производительность/гибкость.

Локация: на что влияет

Выбор локации VPS имеет значение для нескольких аспектов:

  • Задержка (Latency): Чем ближе сервер к вашей основной аудитории (вы, ваша команда, пользователи), тем меньше задержка и быстрее отклик веб-интерфейса.
  • Юрисдикция данных: Если у вас есть особые требования к хранению данных (например, GDPR в Европе), выбирайте страну, которая соответствует этим требованиям.
  • Скорость сети: Некоторые регионы имеют лучшую связность с определенными частями мира. Проверьте пинг до тестовых серверов в разных локациях, чтобы выбрать наилучший вариант.

Подготовка сервера

Схема: Подготовка сервера
Схема: Подготовка сервера

Перед установкой File Browser необходимо провести базовую настройку безопасности и установить необходимые утилиты. Предполагается, что вы используете свежую установку Ubuntu Server 24.04 LTS (актуальная версия на 2026 год) и имеете доступ по SSH с правами root.

1. Обновление системы

Всегда начинайте с обновления списка пакетов и их установки, чтобы убедиться, что ваша система использует самые актуальные версии ПО и патчи безопасности.


sudo apt update         # Обновляет список доступных пакетов
sudo apt upgrade -y     # Устанавливает обновления для всех пакетов
sudo apt autoremove -y  # Удаляет неиспользуемые пакеты

2. Создание нового пользователя с правами sudo

Работа под пользователем root небезопасна. Создадим нового пользователя, добавим его в группу sudo и настроим для него SSH-ключи. Замените youruser на желаемое имя пользователя.


adduser youruser                            # Создать нового пользователя
usermod -aG sudo youruser                   # Добавить пользователя в группу sudo
mkdir -p /home/youruser/.ssh                # Создать директорию для SSH-ключей
chmod 700 /home/youruser/.ssh               # Установить правильные права для директории
cp ~/.ssh/authorized_keys /home/youruser/.ssh/ # Скопировать ваш публичный SSH-ключ (если вы зашли по ключу root)
chown -R youruser:youruser /home/youruser/.ssh # Установить владельца для директории SSH

После этого выйдите из сессии root и войдите под новым пользователем youruser, чтобы убедиться, что все работает.

3. Отключение SSH-доступа для root и по паролю

Для повышения безопасности рекомендуется отключить вход по SSH для пользователя root и запретить аутентификацию по паролю, оставив только SSH-ключи.


sudo nano /etc/ssh/sshd_config

Найдите и измените следующие строки (или добавьте, если их нет):


# PermitRootLogin no
# PasswordAuthentication no
# ChallengeResponseAuthentication no
# UsePAM no

Убедитесь, что PermitRootLogin установлено в no и PasswordAuthentication в no. Если эти строки закомментированы (начинаются с #), раскомментируйте их.

После сохранения файла перезапустите SSH-сервис:


sudo systemctl restart sshd

ВАЖНО: Убедитесь, что вы можете войти под новым пользователем с SSH-ключом, прежде чем отключать root-доступ и парольную аутентификацию. В противном случае вы можете потерять доступ к серверу.

4. Настройка файрвола (UFW)

UFW (Uncomplicated Firewall) — это простой в использовании интерфейс для настройки правил iptables. Мы разрешим только необходимые порты: SSH (22), HTTP (80) и HTTPS (443).


sudo apt install ufw -y                 # Установка UFW
sudo ufw allow OpenSSH                  # Разрешить SSH-доступ (порт 22)
sudo ufw allow http                     # Разрешить HTTP-доступ (порт 80)
sudo ufw allow https                    # Разрешить HTTPS-доступ (порт 443)
sudo ufw enable                         # Включить файрвол
sudo ufw status verbose                 # Проверить статус файрвола

После включения UFW убедитесь, что вы все еще можете подключиться по SSH.

5. Установка Fail2ban

Fail2ban сканирует логи сервера на предмет подозрительной активности (например, попыток подбора паролей по SSH) и временно блокирует IP-адреса злоумышленников, добавляя правила в файрвол.


sudo apt install fail2ban -y            # Установка Fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # Создание локальной копии конфига
sudo systemctl enable fail2ban          # Включить автозапуск Fail2ban
sudo systemctl start fail2ban           # Запустить Fail2ban
sudo systemctl status fail2ban          # Проверить статус

В файле /etc/fail2ban/jail.local вы можете настроить параметры блокировки, но по умолчанию он уже защищает SSH.

6. Установка Nginx (предварительно)

Nginx будет использоваться как обратный прокси для File Browser и для обработки SSL-сертификатов.


sudo apt install nginx -y               # Установка Nginx
sudo systemctl enable nginx             # Включить автозапуск Nginx
sudo systemctl start nginx              # Запустить Nginx
sudo systemctl status nginx             # Проверить статус

Теперь ваш сервер готов к установке File Browser.

Установка ПО — пошагово

Схема: Установка ПО — пошагово
Схема: Установка ПО — пошагово

Теперь, когда сервер подготовлен, мы приступим к установке основных компонентов: самого File Browser, Nginx (если не установлен на предыдущем шаге) и Certbot для автоматического получения и обновления SSL-сертификатов.

В этом руководстве мы будем использовать File Browser версии 2.30.0 (предполагаемая актуальная версия на 2026 год), Nginx 1.28.0 и Certbot 2.10.0. Все команды выполняются от пользователя с правами sudo.

1. Установка File Browser

File Browser распространяется как единый бинарный файл, что значительно упрощает его установку. Мы загрузим его с официального репозитория GitHub.


# Создаем временную директорию для загрузки
mkdir -p ~/filebrowser_install
cd ~/filebrowser_install

# Загружаем последнюю версию File Browser (v2.30.0 на 2026 год)
# Всегда проверяйте актуальную версию на https://github.com/filebrowser/filebrowser/releases
wget https://github.com/filebrowser/filebrowser/releases/download/v2.30.0/filebrowser_2.30.0_linux_amd64.tar.gz

# Распаковываем архив
tar -xvf filebrowser_2.30.0_linux_amd64.tar.gz

# Перемещаем исполняемый файл в системную директорию
sudo mv filebrowser /usr/local/bin/

# Удаляем временные файлы
cd ~
rm -rf ~/filebrowser_install

# Проверяем, что File Browser установлен и доступен
filebrowser --version

Вывод filebrowser --version должен показать установленную версию.

2. Создание системного пользователя и директорий для File Browser

Для безопасности File Browser будет работать от выделенного системного пользователя и хранить свои данные в отдельных директориях.


# Создаем системного пользователя 'filebrowser' без возможности входа в систему
sudo useradd -r -s /bin/false filebrowser

# Создаем директорию для файлов File Browser (где будут храниться пользовательские файлы)
sudo mkdir -p /var/lib/filebrowser

# Создаем директорию для конфигурационного файла File Browser
sudo mkdir -p /etc/filebrowser

# Устанавливаем владельца и права для директорий
sudo chown -R filebrowser:filebrowser /var/lib/filebrowser
sudo chown -R filebrowser:filebrowser /etc/filebrowser

3. Настройка File Browser как systemd сервиса

Чтобы File Browser запускался автоматически при старте сервера и управлялся как обычный сервис, создадим systemd-юнит файл.


sudo nano /etc/systemd/system/filebrowser.service

Вставьте следующее содержимое в файл:


[Unit]
Description=File Browser
After=network.target

[Service]
User=filebrowser
Group=filebrowser
# Запускаем File Browser на локальном интерфейсе (127.0.0.1) и порту 8080
# Nginx будет проксировать запросы к этому адресу
ExecStart=/usr/local/bin/filebrowser -r /var/lib/filebrowser -c /etc/filebrowser/filebrowser.json --port 8080 --address 127.0.0.1
Restart=on-failure
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Сохраните и закройте файл (Ctrl+X, Y, Enter). Теперь активируем и запускаем сервис:


sudo systemctl daemon-reload               # Перезагрузить конфигурацию systemd
sudo systemctl enable filebrowser          # Включить автозапуск сервиса при старте системы
sudo systemctl start filebrowser           # Запустить сервис File Browser
sudo systemctl status filebrowser          # Проверить статус сервиса

Убедитесь, что сервис находится в состоянии "active (running)".

4. Установка Certbot (для SSL)

Certbot — это инструмент для автоматического получения и обновления бесплатных SSL/TLS сертификатов от Let's Encrypt. Мы установим его через Snap, что является рекомендуемым способом для Ubuntu 24.04.


# Убедитесь, что snapd установлен и обновлен
sudo snap install core                      # Установка базового пакета snapd
sudo snap refresh core                      # Обновление snapd

# Установка Certbot
sudo snap install --classic certbot         # Установка Certbot в классическом режиме

# Создание символической ссылки для удобства использования команды certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Теперь Certbot готов к работе и будет использоваться на этапе конфигурации Nginx.

Конфигурация

Схема: Конфигурация
Схема: Конфигурация

На этом этапе мы настроим Nginx для работы в качестве обратного прокси для File Browser и получим SSL-сертификаты для обеспечения безопасного HTTPS-соединения.

Важно: Для успешной работы вам потребуется доменное имя (например, files.yourdomain.com), которое указывает на IP-адрес вашего VPS.

1. Создание первого администратора File Browser

Перед тем как настроить Nginx, создадим первого администратора File Browser. Это можно сделать через команду, пока сервис запущен.


# Создаем первого администратора. Замените <admin_password> на надежный пароль.
# Эта команда создаст файл filebrowser.json в /etc/filebrowser, если его нет.
sudo /usr/local/bin/filebrowser users add admin <admin_password> --perm.admin --perm.create --perm.delete --perm.modify --perm.rename --perm.share --config /etc/filebrowser/filebrowser.json

Вы увидите подтверждение создания пользователя. Пароль не будет отображаться в консоли, но будет установлен.

2. Настройка Nginx как обратного прокси

Мы создадим новый конфигурационный файл Nginx для вашего домена. Замените yourdomain.com на ваше реальное доменное имя.


sudo nano /etc/nginx/sites-available/filebrowser.conf

Вставьте следующее содержимое. Этот конфиг сначала будет перенаправлять весь HTTP-трафик на HTTPS и готов для использования Certbot.


server {
    listen 80;
    listen [::]:80;
    server_name yourdomain.com; # Замените на ваш домен

    # Перенаправляем весь HTTP-трафик на HTTPS
    return 301 https://$host$request_uri;
}

# Этот блок будет настроен Certbot'ом после получения сертификата
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name yourdomain.com; # Замените на ваш домен

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; # Будет создан Certbot
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; # Будет создан Certbot
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1h;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;

    # HSTS (HTTP Strict Transport Security)
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

    # Проксирование запросов к File Browser
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # WebSocket поддержка (для некоторых функций File Browser)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    # Дополнительные настройки для безопасности
    client_max_body_size 100G; # Максимальный размер загружаемого файла (измените по необходимости)
    error_log /var/log/nginx/filebrowser_error.log warn;
    access_log /var/log/nginx/filebrowser_access.log;
}

Сохраните и закройте файл. Теперь активируйте конфигурацию, создав символическую ссылку и протестировав Nginx:


# Создаем символическую ссылку
sudo ln -s /etc/nginx/sites-available/filebrowser.conf /etc/nginx/sites-enabled/

# Проверяем синтаксис Nginx-конфигурации
sudo nginx -t

# Если ошибок нет, перезагружаем Nginx
sudo systemctl reload nginx

3. Получение SSL-сертификата с помощью Certbot

Теперь, когда Nginx настроен, мы можем использовать Certbot для автоматического получения SSL-сертификата от Let's Encrypt. Certbot сам модифицирует Nginx-конфигурацию для добавления путей к сертификатам.


sudo certbot --nginx -d yourdomain.com # Замените yourdomain.com на ваш домен

Certbot задаст вам несколько вопросов:

  • Введите адрес электронной почты для уведомлений об истечении срока действия сертификата.
  • Согласитесь с условиями обслуживания Let's Encrypt.
  • (Необязательно) Разрешите EFF отправлять вам письма о своих работах.

Если все пройдет успешно, Certbot автоматически настроит Nginx для использования HTTPS и перезагрузит его. Вы увидите сообщение об успешном получении сертификата.

4. Проверка работоспособности

Откройте ваш веб-браузер и перейдите по адресу https://yourdomain.com (замените на ваш домен). Вы должны увидеть страницу входа File Browser. Используйте логин admin и пароль, который вы установили ранее, чтобы войти.

Вы также можете проверить статус сервисов из командной строки:


sudo systemctl status filebrowser
sudo systemctl status nginx

Для проверки работы SSL-сертификата можно использовать онлайн-инструменты, такие как SSL Labs SSL Server Test, или просто убедиться в наличии "замочка" в адресной строке браузера.

Для локальной проверки доступности File Browser через Nginx можно использовать curl:


curl -kL https://yourdomain.com # Опция -k игнорирует проверку сертификата, -L следует редиректам

Вы должны получить HTML-код страницы входа File Browser.

5. Обновление правил UFW

Если вы ранее разрешили порты HTTP и HTTPS по отдельности, Certbot мог уже обновить правила Nginx Full. Убедимся, что все в порядке:


sudo ufw allow "Nginx Full" # Разрешает порты 80 и 443 для Nginx
sudo ufw delete allow http  # Удаляем старое правило, если оно есть
sudo ufw delete allow https # Удаляем старое правило, если оно есть
sudo ufw status verbose

Убедитесь, что "Nginx Full" разрешен, а отдельные правила для HTTP/HTTPS удалены, чтобы избежать дублирования.

Бэкапы и обслуживание

Схема: Бэкапы и обслуживание
Схема: Бэкапы и обслуживание

Резервное копирование — это критически важная часть любой серверной инфраструктуры. File Browser хранит все пользовательские файлы и свою конфигурацию на сервере, поэтому необходимо регулярно создавать бэкапы, чтобы избежать потери данных.

1. Что бэкапить

Для File Browser вам необходимо резервировать:

  • Пользовательские данные: Директория /var/lib/filebrowser. Здесь хранятся все файлы и папки, которые пользователи загружают через File Browser. Это самая важная часть.
  • Конфигурация File Browser: Файл /etc/filebrowser/filebrowser.json. Содержит настройки File Browser, список пользователей и их права.
  • Конфигурация Nginx: Файл /etc/nginx/sites-available/filebrowser.conf.
  • SSL-сертификаты: Директория /etc/letsencrypt. Содержит ваши SSL-сертификаты. Рекомендуется бэкапить ее осторожно, так как приватные ключи являются конфиденциальной информацией. В большинстве случаев достаточно просто перевыпустить сертификаты с помощью Certbot после восстановления сервера, но иметь резервную копию может быть полезно.

2. Простой скрипт автобэкапа

Мы создадим простой скрипт, который будет архивировать необходимые данные и сохранять их в отдельную директорию. Для более надежных решений можно использовать инструменты вроде Restic, BorgBackup или Duplicity, которые поддерживают дедупликацию и шифрование.


sudo nano /usr/local/bin/backup_filebrowser.sh

Вставьте следующее содержимое:


#!/bin/bash

# Директория для хранения бэкапов
BACKUP_DIR="/mnt/backups/filebrowser"
# Дата и время для имени архива
TIMESTAMP=$(date +%Y%m%d%H%M%S)
ARCHIVE_NAME="filebrowser_backup_${TIMESTAMP}.tar.gz"

# Создаем директорию для бэкапов, если ее нет
mkdir -p "$BACKUP_DIR"

echo "Начинаем резервное копирование File Browser..."

# Создаем архив из директории с данными и конфигурацией
tar -czvf "$BACKUP_DIR/$ARCHIVE_NAME" \
    /var/lib/filebrowser \
    /etc/filebrowser/filebrowser.json \
    /etc/nginx/sites-available/filebrowser.conf \
    --absolute-names # Сохраняем полные пути в архиве

# Опционально: резервное копирование SSL-сертификатов (с осторожностью)
# tar -czvf "$BACKUP_DIR/letsencrypt_backup_${TIMESTAMP}.tar.gz" /etc/letsencrypt --absolute-names

# Удаляем старые бэкапы (например, старше 7 дней)
find "$BACKUP_DIR" -type f -name ".tar.gz" -mtime +7 -delete

echo "Резервное копирование завершено. Архив: $BACKUP_DIR/$ARCHIVE_NAME"

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


sudo chmod +x /usr/local/bin/backup_filebrowser.sh

3. Планирование бэкапов с помощью Cron

Добавим скрипт в Cron для автоматического выполнения. Например, для ежедневного бэкапа в 03:00 ночи:


sudo crontab -e

Добавьте следующую строку в конец файла:


0 3    /usr/local/bin/backup_filebrowser.sh >> /var/log/filebrowser_backup.log 2>&1

Эта строка означает: "Каждый день в 3 часа 0 минут запускать скрипт и перенаправлять его вывод в лог-файл".

4. Куда складывать бэкапы

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

  • S3-совместимые хранилища: Облачные сервисы, такие как AWS S3, Backblaze B2, DigitalOcean Spaces или MinIO (для self-hosted S3). Существуют клиенты командной строки (например, awscli, rclone), которые могут автоматически загружать архивы в S3.
  • Отдельный VPS или NAS: Можно настроить rsync для синхронизации бэкапов на другой VPS или сетевое хранилище (NAS) в вашей локальной сети.
  • Внешний жесткий диск: Для очень малых объемов и личного использования, но требует ручного подключения и отключения.

Интеграция с S3 с помощью rclone:


# Пример установки rclone
sudo apt install rclone -y
rclone config # Интерактивная настройка S3-хранилища

# Пример добавления в скрипт бэкапа после создания архива:
# rclone copy "$BACKUP_DIR/$ARCHIVE_NAME" "remote_s3_name:bucket_name/filebrowser/"

5. Обновления: rolling vs maintenance window

Регулярные обновления ПО важны для безопасности и стабильности. Различают два подхода:

  • Rolling updates (постоянные обновления): Подходит для ОС и системных пакетов. Просто запускайте sudo apt update && sudo apt upgrade -y еженедельно или ежемесячно.
  • Maintenance window (окно обслуживания): Для критически важных приложений, таких как File Browser или Nginx, лучше планировать обновления.
    • Обновление File Browser: Скачайте новую версию бинарника с GitHub, остановите сервис (sudo systemctl stop filebrowser), замените старый бинарник на новый (sudo mv new_filebrowser /usr/local/bin/filebrowser), затем запустите сервис (sudo systemctl start filebrowser).
    • Обновление Nginx: Обычно обновляется через apt upgrade. После обновления всегда проверяйте конфигурацию (sudo nginx -t) и перезагружайте сервис (sudo systemctl reload nginx).
    • Обновление Certbot: Выполняется автоматически через Snap. Убедитесь, что автообновление сертификатов работает: sudo certbot renew --dry-run.

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

Troubleshooting + FAQ

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

File Browser не запускается или недоступен по веб-интерфейсу.

Что проверить:

  1. Статус сервиса: Убедитесь, что сервис File Browser запущен.
    sudo systemctl status filebrowser
    Если он не запущен, попробуйте запустить его: sudo systemctl start filebrowser.
  2. Логи сервиса: Проверьте логи File Browser на наличие ошибок.
    sudo journalctl -u filebrowser --since "1 hour ago"
    Ищите сообщения об ошибках, которые могут указывать на проблему с конфигурационным файлом (filebrowser.json) или правами доступа к директории /var/lib/filebrowser.
  3. Порт: Убедитесь, что File Browser прослушивает порт 8080 на 127.0.0.1.
    sudo ss -tulnp | grep 8080
    Вы должны увидеть процесс filebrowser, слушающий 127.0.0.1:8080. Если нет, проверьте параметры ExecStart в /etc/systemd/system/filebrowser.service.
  4. Права доступа: Убедитесь, что у пользователя filebrowser есть права на чтение/запись в /var/lib/filebrowser и /etc/filebrowser.
    sudo chown -R filebrowser:filebrowser /var/lib/filebrowser /etc/filebrowser

Nginx выдает ошибку 502 Bad Gateway.

Что проверить:

  1. Доступность File Browser: Ошибка 502 обычно означает, что Nginx не может связаться с File Browser. Убедитесь, что File Browser запущен и доступен на 127.0.0.1:8080 (см. предыдущий пункт).
  2. Логи Nginx: Проверьте логи ошибок Nginx.
    sudo tail -f /var/log/nginx/error.log
    Ищите сообщения о "connection refused" или "upstream timed out".
  3. Конфигурация Nginx: Убедитесь, что proxy_pass в вашем конфиге Nginx (/etc/nginx/sites-available/filebrowser.conf) правильно указывает на http://127.0.0.1:8080.
    sudo nginx -t
    Если есть синтаксические ошибки, исправьте их и перезагрузите Nginx: sudo systemctl reload nginx.

Проблемы с SSL/HTTPS.

Что проверить:

  1. Certbot: Убедитесь, что Certbot успешно получил и установил сертификаты.
    sudo certbot certificates
    Вы должны увидеть ваш домен в списке. Если нет, попробуйте запустить sudo certbot --nginx -d yourdomain.com снова.
  2. Конфигурация Nginx: Убедитесь, что в конфиге Nginx (filebrowser.conf) пути к ssl_certificate и ssl_certificate_key правильные и указывают на файлы в /etc/letsencrypt/live/yourdomain.com/. Certbot должен был настроить это автоматически.
  3. Файрвол (UFW): Убедитесь, что порт 443 (HTTPS) разрешен.
    sudo ufw status verbose
    Должно быть разрешено "Nginx Full" или порт 443. Если нет: sudo ufw allow "Nginx Full".
  4. DNS: Убедитесь, что ваш домен корректно указывает на IP-адрес вашего VPS. Используйте dig yourdomain.com или ping yourdomain.com.
  5. Продление сертификатов: Проверьте, работает ли автоматическое продление.
    sudo certbot renew --dry-run
    Это не продлит сертификаты, но проверит процесс.

Не могу загрузить большие файлы.

Что проверить:

  1. Nginx client_max_body_size: В конфигурации Nginx (filebrowser.conf) найдите строку client_max_body_size. Установите ее на достаточно большое значение, например, 100G (100 гигабайт) или 0 для неограниченного размера.
    client_max_body_size 100G;
    После изменения перезагрузите Nginx: sudo systemctl reload nginx.
  2. Свободное место на диске: Убедитесь, что на вашем VPS достаточно свободного места для загружаемых файлов.
    df -h

Какой VPS-конфиг минимально подойдет для File Browser?

Для личного использования или очень небольшой команды, с умеренным объемом файлов, минимально подойдет VPS с 1 vCPU, 1 ГБ оперативной памяти и 20-40 ГБ SSD. Этого будет достаточно для работы операционной системы, File Browser, Nginx и Certbot. Однако, если вы планируете активно использовать File Browser, хранить много больших файлов или обслуживать несколько пользователей, рекомендуется рассмотреть конфигурацию с 2 vCPU, 2-4 ГБ RAM и 80+ ГБ SSD для более комфортной и стабильной работы.

Что выбрать — VPS или dedicated для этой задачи?

Для большинства задач, связанных с File Browser, VPS является оптимальным выбором. Он предлагает достаточную производительность, гибкость и экономичность. Выделенный сервер (dedicated server) следует рассматривать только в случаях, если у вас очень высокая нагрузка (сотни одновременных пользователей), требуются огромные объемы хранения данных (несколько терабайт), или есть специфические требования к оборудованию, безопасности или соответствию, которые не могут быть удовлетворены на VPS. Для большинства пользователей File Browser VPS будет более чем достаточно.

Как добавить новых пользователей в File Browser?

После входа в File Browser под учетной записью администратора, вы можете перейти в раздел "Пользователи" в интерфейсе и добавить новых пользователей, задав им логин, пароль и права доступа к различным директориям. Вы также можете использовать команду filebrowser users add через SSH, как мы делали для первого администратора.


# Пример добавления нового пользователя "john" с паролем "securepassword" и доступом только для чтения
sudo /usr/local/bin/filebrowser users add john securepassword --perm.read --config /etc/filebrowser/filebrowser.json

# Пример добавления пользователя с полными правами к определенной директории
# Сначала создайте директорию, например, /var/lib/filebrowser/john_files
# Затем добавьте пользователя
sudo mkdir -p /var/lib/filebrowser/john_files
sudo chown -R filebrowser:filebrowser /var/lib/filebrowser/john_files
sudo /usr/local/bin/filebrowser users add jane securepassword --perm.create --perm.delete --perm.modify --perm.rename --perm.share --scope /var/lib/filebrowser/john_files --config /etc/filebrowser/filebrowser.json

Не забудьте перезапустить сервис File Browser после ручного редактирования filebrowser.json или добавления пользователей через командную строку, чтобы изменения вступили в силу: sudo systemctl restart filebrowser.

Выводы и следующие шаги

Схема: Выводы и следующие шаги
Схема: Выводы и следующие шаги

Поздравляем! Вы успешно установили и настроили File Browser на вашем VPS, обеспечив безопасный доступ через Nginx и SSL. Теперь у вас есть полностью контролируемое, приватное и удобное в использовании облачное хранилище файлов, которое не зависит от сторонних сервисов.

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

Следующие шаги:

  • Управление пользователями и доступом: Настройте дополнительные учетные записи для членов вашей команды или семьи, установив для каждого пользователя соответствующие права доступа к определенным директориям.
  • Расширение хранилища: Если вам потребуется больше места, рассмотрите возможность монтирования внешних дисков (например, блочного хранилища VPS-провайдера) или интеграции с S3-совместимыми хранилищами для масштабирования дискового пространства File Browser.
  • Мониторинг и логирование: Настройте базовый мониторинг вашего VPS и File Browser (например, с помощью Prometheus и Grafana) для отслеживания производительности и своевременного обнаружения проблем. Регулярно просматривайте системные логи для выявления подозрительной активности.

Был ли этот гайд полезен?

Ваш отзыв помогает нам улучшать гайды.

Поделиться записью:

Отправьте гайд тому, кому он может пригодиться.

Telegram VKVK WhatsApp Facebook LinkedIn XX

установка file browser на vps: управление файлами через веб-интерфейс с nginx и ssl
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.