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

Отримати VPS arrow_forward
eco Початковий Туторіал

Встановлення File Browser

calendar_month Aug 11, 2026 schedule 20 хв. читання visibility 31 переглядів
Установка 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.

Завжди тестуйте оновлення на тестовому сервері, якщо це можливо, перш ніж застосовувати їх на продакшені.

Вирішення проблем + 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) для відстеження продуктивності та своєчасного виявлення проблем. Регулярно переглядайте системні логи для виявлення підозрілої активності.

Чи був цей гайд корисним?

Ваш відгук допомагає нам покращувати гайди.

Share this post:

Надішліть гайд тому, кому він може стати в пригоді.

Telegram VKVK WhatsApp Facebook LinkedIn XX

встановлення файлового браузера на 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.