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

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

Встановлення FreshRSS на

calendar_month Jul 11, 2026 schedule 18 хв. читання visibility 9 переглядів
Установка FreshRSS на VPS: Свой RSS-агрегатор с доступом отовсюду
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

Встановлення FreshRSS на VPS: Власний RSS-агрегатор з доступом звідусіль

TL;DR

У цьому детальному посібнику ми крок за кроком налаштуємо персональний RSS-агрегатор FreshRSS на вашому власному віртуальному приватному сервері (VPS). Ви отримаєте повний контроль над своїми новинними потоками, забезпечите приватність читання і зможете отримувати доступ до своїх улюблених джерел інформації з будь-якого пристрою, використовуючи потужність відкритого програмного забезпечення та надійність хмарної інфраструктури.

  • Встановимо та налаштуємо FreshRSS на Ubuntu Server 24.04 LTS.
  • Забезпечимо безпечний доступ через HTTPS за допомогою Caddy.
  • Розгорнемо веб-сервер Caddy, PHP 8.3 та базу даних MariaDB.
  • Налаштуємо автоматичні оновлення фідів та систему резервного копіювання.
  • Отримаємо повний контроль над даними та приватністю читання новин.

Що ми налаштовуємо і навіщо

Схема: Що ми налаштовуємо і навіщо
Схема: Що ми налаштовуємо і навіщо

У сучасному інформаційному потоці вкрай важливо мати інструменти для ефективного управління інформацією. RSS (Really Simple Syndication) залишається одним із найпотужніших і найприватніших способів стежити за новинами, блогами та подкастами, не покладаючись на алгоритми соціальних мереж або поштові розсилки. Однак багато популярних RSS-сервісів є пропрієтарними хмарними рішеннями, які можуть збирати дані про ваше читання, показувати рекламу або просто припинити своє існування.

Саме тут на сцену виходить FreshRSS — безкоштовний та відкритий (GPL v3) RSS-агрегатор, який ви можете встановити на свій власний сервер. Він пропонує чистий, швидкий та інтуїтивно зрозумілий інтерфейс, підтримку багатьох мов, API для мобільних клієнтів (сумісний з Fever API), а також потужні інструменти для фільтрації та категоризації фідів. Встановивши FreshRSS на свій VPS, ви отримуєте повний контроль над своїми даними, гарантуєте приватність читання і створюєте централізований хаб для всіх ваших інформаційних потоків, доступний звідусіль.

У підсумку, після завершення цього посібника, у вас буде повністю функціонуючий RSS-агрегатор FreshRSS, що працює на вашому VPS під керуванням Ubuntu Server 24.04 LTS. Він буде доступний за захищеним HTTPS-з'єднанням з використанням доменного імені, яке ви оберете, і зможе автоматично оновлювати ваші фіди. Ви зможете додавати та читати RSS-потоки через веб-інтерфейс або через будь-який мобільний додаток, що підтримує Fever API, без будь-яких обмежень чи стеження.

Існують і альтернативи, такі як Feedly, Inoreader або The Old Reader. Це хмарні сервіси, які пропонують зручність "з коробки" за щомісячну плату. Вони ідеально підходять для тих, хто не хоче морочитися з технічним налаштуванням. Однак, обираючи self-hosted рішення на VPS, ви уникаєте щомісячних платежів за сам сервіс (платите лише за VPS), отримуєте повну конфіденційність (ваші дані залишаються лише у вас), можете налаштовувати систему під свої потреби без обмежень і не залежите від політики сторонніх компаній. Це ідеальний вибір для тих, хто цінує незалежність та контроль над своїм цифровим життям.

Який VPS-конфіг потрібен для цього завдання

Схема: Який VPS-конфіг потрібен для цього завдання
Схема: Який VPS-конфіг потрібен для цього завдання

FreshRSS є відносно легкою програмою, особливо якщо ви плануєте використовувати його самостійно або для невеликої групи користувачів (до 5-10 осіб) з розумною кількістю фідів (до кількох сотень). Для такого завдання не потрібен потужний сервер, що робить його ідеальним кандидатом для розгортання на бюджетному VPS.

Мінімальні вимоги:

  • Процесор (CPU): 1 ядро (x86_64, 2 ГГц+). FreshRSS переважно однопоточний, тому висока частота важливіша за кількість ядер для базових операцій.
  • Оперативна пам'ять (RAM): 1-2 ГБ. 1 ГБ буде достатньо для FreshRSS та всіх його залежностей (Caddy, PHP-FPM, MariaDB) у мінімальній конфігурації. 2 ГБ забезпечать більш комфортну роботу та дозволять тримати більше даних у кеші бази даних.
  • Дисковий простір: 20-40 ГБ SSD. Операційна система займе близько 10-15 ГБ. FreshRSS та його база даних використовуватимуть решту простору для зберігання статей, зображень та кешу. SSD критичний для швидкої роботи бази даних та доступу до файлів.
  • Мережа: 100 Мбіт/с або 1 Гбіт/с порт. Для RSS-агрегатора, який переважно завантажує текстовий контент, швидкість порту менш критична, ніж стабільність з'єднання. Місячний трафік зазвичай не перевищує кількох сотень гігабайт.

Рекомендований VPS-план для комфортної роботи (на 2026 рік):

  • CPU: 2 vCPU
  • RAM: 2-4 ГБ
  • Диск: 50-80 ГБ SSD
  • Мережа: 1 Гбіт/с порт, 1-2 ТБ трафіку.

Такої конфігурації буде достатньо для FreshRSS з кількома тисячами фідів та десятками користувачів, а також залишиться запас для інших невеликих сервісів на тому ж VPS. VPS із зазначеними характеристиками можна орендувати у більшості провайдерів хмарних послуг.

Коли потрібен dedicated сервер, а не VPS:

Для FreshRSS у переважній більшості випадків dedicated сервер є надлишковим. Він потрібен, якщо ви плануєте:

  • Обслуговувати сотні або тисячі користувачів.
  • Агрегувати мільйони статей щодня та зберігати величезні обсяги даних.
  • Запускати безліч інших ресурсоємних програм на тому ж обладнанні.
  • Вимагати максимальної продуктивності введення-виведення або ексклюзивного доступу до апаратного забезпечення.
Для типового використання FreshRSS, навіть у масштабах невеликої команди, VPS більш ніж достатньо і значно економніше.

Локація VPS: на що впливає

Вибір географічної локації вашого VPS впливає на кілька факторів:

  • Затримка (latency): Чим ближче сервер до вас і вашої основної аудиторії (якщо вона є), тим швидшою буде відповідь веб-інтерфейсу. Для RSS-агрегатора це не критично, але приємно.
  • Доступність контенту: Якщо ви агрегуєте контент з певних регіонів, розміщення сервера ближче до цих джерел може трохи прискорити оновлення фідів.
  • Законодавство: Розташування сервера в певній юрисдикції означає, що ваші дані підпадатимуть під закони цієї країни. Якщо приватність даних є пріоритетом, обирайте країни з сильним законодавством про захист даних.

Для більшості користувачів підійде будь-яка стабільна локація у великому дата-центрі.

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

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

Перед встановленням FreshRSS необхідно виконати базове налаштування та підготовку вашого VPS. Ми будемо використовувати Ubuntu Server 24.04 LTS (Long Term Support), оскільки це стабільна та широко використовувана операційна система з довгостроковою підтримкою, актуальна і в 2026 році.

1. Підключення до сервера та оновлення системи

Підключіться до вашого нового VPS за допомогою SSH. Зазвичай провайдер надає вам IP-адресу та логін (наприклад, root) з тимчасовим паролем або SSH-ключем.


ssh root@ВАШ_IP_АДРЕС

Після успішного входу оновіть список пакетів та саму систему до останніх версій:


sudo apt update && sudo apt upgrade -y

Ця команда оновить усі встановлені пакети до актуальних версій та забезпечить наявність усіх необхідних патчів безпеки.

2. Створення нового користувача та налаштування sudo

Працювати під обліковим записом root небезпечно. Створимо нового користувача з обмеженими правами та надамо йому можливість виконувати команди з sudo.


sudo adduser freshrssuser

Дотримуйтесь інструкцій на екрані, щоб задати пароль та інформацію про користувача. Потім додайте нового користувача до групи sudo:


sudo usermod -aG sudo freshrssuser

Тепер ви можете вийти з root та увійти як freshrssuser:


exit
ssh freshrssuser@ВАШ_IP_АДРЕС

Усі наступні команди виконуватимуться від імені freshrssuser, використовуючи sudo за необхідності.

3. Налаштування SSH-ключів (рекомендується)

Для підвищення безпеки рекомендується використовувати SSH-ключі замість паролів. Якщо у вас ще немає пари ключів, згенеруйте їх на вашому локальному комп'ютері:


ssh-keygen -t rsa -b 4096

Потім скопіюйте публічний ключ на сервер:


ssh-copy-id freshrssuser@ВАШ_IP_АДРЕС

Після цього ви зможете входити без пароля. Щоб повністю відключити вхід за паролем (що дуже рекомендується для безпеки), відредагуйте файл конфігурації SSH-сервера:


sudo nano /etc/ssh/sshd_config

Знайдіть та змініть наступні рядки (або додайте їх, якщо відсутні):


PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Перезапустіть SSH-сервіс, щоб застосувати зміни:


sudo systemctl restart sshd

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

4. Налаштування брандмауера (UFW)

UFW (Uncomplicated Firewall) — це простий у використанні інтерфейс для налаштування правил iptables. Увімкніть його та дозвольте необхідні порти:


sudo ufw allow OpenSSH         # Дозволити SSH (порт 22)
sudo ufw allow http            # Дозволити HTTP (порт 80)
sudo ufw allow https           # Дозволити HTTPS (порт 443)
sudo ufw enable                # Увімкнути брандмауер
sudo ufw status                # Перевірити статус

Після увімкнення UFW переконайтеся, що SSH-з'єднання не перервалося. Якщо все гаразд, брандмауер тепер захищає ваш сервер.

5. Встановлення Fail2ban

Fail2ban сканує логи сервера на предмет підозрілої активності (наприклад, невдалі спроби входу за допомогою SSH) та тимчасово блокує IP-адреси, що здійснюють такі спроби. Це відмінний захист від брутфорс-атак.


sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Fail2ban за замовчуванням налаштований для захисту SSH. Ви можете перевірити його статус:


sudo fail2ban-client status
sudo fail2ban-client status sshd

На цьому базова підготовка сервера завершена. Тепер ми готові до встановлення основного програмного забезпечення.

Встановлення ПЗ — покроково

Схема: Встановлення ПЗ — покроково
Схема: Встановлення ПЗ — покроково

Для роботи FreshRSS нам знадобиться веб-сервер (Caddy), інтерпретатор PHP з модулем FPM та база даних (MariaDB). Ми будемо використовувати актуальні версії ПЗ, доступні у 2026 році.

1. Встановлення та налаштування MariaDB (MySQL-сумісна база даних)

MariaDB — це потужна та швидка система керування базами даних, яка є форком MySQL і повністю сумісна з ним. FreshRSS чудово працює з MariaDB.


# Встановлення сервера MariaDB
sudo apt install mariadb-server -y

Після встановлення виконайте скрипт для базового захисту MariaDB:


# Запуск скрипта для захисту MariaDB
sudo mysql_secure_installation

Дотримуйтесь інструкцій: встановіть пароль для користувача root бази даних, видаліть анонімних користувачів, забороніть віддалений вхід root та видаліть тестову базу даних. Потім увійдіть до MariaDB як root (бази даних) і створіть базу даних та користувача для FreshRSS:


# Вхід до MariaDB
sudo mysql -u root -p

Всередині консолі MariaDB виконайте наступні команди, замінивши freshrss_user та ВАШ_ПАРОЛЬ_БД на свої значення:


CREATE DATABASE freshrss_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'freshrss_user'@'localhost' IDENTIFIED BY 'ВАШ_ПАРОЛЬ_БД';
GRANT ALL PRIVILEGES ON freshrss_db. TO 'freshrss_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Ці команди створюють базу даних freshrss_db, користувача freshrss_user із зазначеним паролем та надають йому повні права на цю базу даних.

2. Встановлення PHP та необхідних розширень

FreshRSS написаний на PHP. Ми встановимо PHP версії 8.3 (або вище, якщо доступна) та всі необхідні розширення.


# Встановлення PHP 8.3 FPM та необхідних розширень
sudo apt install php8.3-fpm php8.3-mysql php8.3-xml php8.3-gd php8.3-intl php8.3-mbstring php8.3-zip php8.3-curl php8.3-opcache -y

Ці розширення забезпечують FreshRSS можливість роботи з базою даних, обробку XML, зображень, багатомовної підтримки, стиснення та виконання HTTP-запитів. PHP-FPM (FastCGI Process Manager) керуватиме процесами PHP для веб-сервера.

Перевірте статус PHP-FPM:


# Перевірка статусу PHP-FPM
sudo systemctl status php8.3-fpm

Переконайтеся, що він запущений та активний.

3. Встановлення веб-сервера Caddy

Caddy — це сучасний, простий у налаштуванні веб-сервер, який автоматично керує сертифікатами Let's Encrypt для HTTPS. Це значно спрощує налаштування SSL/TLS.


# Встановлення Caddy з офіційного репозиторію
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y

Ці команди додають офіційний репозиторій Caddy та встановлюють веб-сервер. Caddy автоматично запускається як системний сервіс.


# Перевірка статусу Caddy
sudo systemctl status caddy

4. Встановлення FreshRSS

Завантажимо останню стабільну версію FreshRSS з GitHub та розмістимо її у відповідній директорії для веб-сервера.


# Перехід до директорії для веб-додатків
cd /var/www/

# Завантаження останньої стабільної версії FreshRSS (наприклад, v1.25.0, актуальна на 2026 рік)
# Завжди перевіряйте актуальну версію на GitHub: https://github.com/FreshRSS/FreshRSS/releases
sudo wget https://github.com/FreshRSS/FreshRSS/releases/download/1.25.0/FreshRSS-1.25.0.zip

# Розпакування архіву
sudo unzip FreshRSS-1.25.0.zip -d /var/www/

# Перейменування директорії для зручності
sudo mv /var/www/FreshRSS-1.25.0 /var/www/freshrss

# Видалення архіву
sudo rm FreshRSS-1.25.0.zip

# Встановлення правильних прав доступу. Caddy зазвичай працює від користувача 'caddy' або 'www-data'
# PHP-FPM працює від користувача 'www-data'
sudo chown -R www-data:www-data /var/www/freshrss
sudo chmod -R 755 /var/www/freshrss

Тепер усі компоненти встановлені, і ми можемо перейти до їх конфігурації.

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

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

Після встановлення всіх компонентів необхідно їх правильно налаштувати, щоб FreshRSS міг працювати.

1. Конфігурація Caddy

Caddy використовує файл Caddyfile для своєї конфігурації. Ми налаштуємо його для обслуговування FreshRSS та автоматичного отримання SSL-сертифікатів.


# Відкриття файлу Caddyfile для редагування
sudo nano /etc/caddy/Caddyfile

Видаліть весь існуючий вміст і вставте наступне, замінивши yourdomain.com на ваше реальне доменне ім'я:


yourdomain.com {
    # Коренева директорія FreshRSS
    root  /var/www/freshrss/p/

    # Увімкнути стиснення gzip
    encode gzip

    # Заголовок Strict-Transport-Security для HTTPS
    header {
        Strict-Transport-Security max-age=31536000;
        X-Content-Type-Options nosniff
        X-Frame-Options DENY
        X-XSS-Protection "1; mode=block"
    }

    # Обробка PHP-файлів через PHP-FPM
    php_fastcgi unix//run/php/php8.3-fpm.sock {
        # Додаткові опції, якщо необхідно
    }

    # Захист директорії data від прямого доступу
    @data {
        path /data/
    }
    respond @data 403

    # Захист директорії app від прямого доступу
    @app {
        path /app/
    }
    respond @app 403

    # Захист директорії config від прямого доступу
    @config {
        path /config/
    }
    respond @config 403

    # Перезапис URL для FreshRSS (frontend controller)
    try_files {path} {path}/ /index.php?{query}

    # Логування
    log {
        output file /var/log/caddy/freshrss_access.log
        format json
    }

    # Автоматичне отримання SSL/TLS сертифікатів
    tls {
        # Можна вказати email для сповіщень Let's Encrypt
        # email [email protected]
    }
}

Важливо: Переконайтеся, що ваше доменне ім'я (yourdomain.com) вказує на IP-адресу вашого VPS через A-запис DNS. Без цього Caddy не зможе отримати SSL-сертифікат.

Збережіть файл (Ctrl+X, Y, Enter) та перевірте конфігурацію Caddy, потім перезапустіть сервіс:


# Перевірка конфігурації Caddy
sudo caddy validate --config /etc/caddy/Caddyfile

# Перезапуск Caddy
sudo systemctl reload caddy

Якщо все гаразд, Caddy повинен успішно запуститися та почати обслуговувати ваш домен через HTTPS.

2. Початкове налаштування FreshRSS через веб-інтерфейс

Відкрийте ваш браузер і перейдіть за адресою https://yourdomain.com. Ви побачите сторінку привітання FreshRSS.

На першому кроці виберіть мову. Потім FreshRSS перевірить системні вимоги. Переконайтеся, що всі пункти відзначені зеленим. Якщо є попередження, переконайтеся, що ви встановили всі PHP-розширення та правильно налаштували права доступу.

На наступному кроці FreshRSS запитає дані для підключення до бази даних. Введіть інформацію, яку ви задали раніше:

  • Тип бази даних: MySQL (або MariaDB)
  • Хост бази даних: localhost
  • Ім'я бази даних: freshrss_db
  • Користувач бази даних: freshrss_user
  • Пароль бази даних: ВАШ_ПАРОЛЬ_БД

Після успішного підключення до бази даних FreshRSS запропонує створити обліковий запис адміністратора. Задайте ім'я користувача та надійний пароль. Це буде ваш логін для доступу до FreshRSS.

Вітаємо! FreshRSS встановлено та готовий до використання.

3. Налаштування автоматичного оновлення фідів (Cron Job)

Для того щоб FreshRSS автоматично оновлював RSS-потоки, необхідно налаштувати завдання Cron.


# Відкриття таблиці Cron для редагування
sudo crontab -u www-data -e

Якщо це перший раз, виберіть редактор (наприклад, nano). В кінець файлу додайте наступний рядок:


# Оновлення фідів FreshRSS кожні 15 хвилин
/15     php /var/www/freshrss/app/actualize_script.php > /dev/null 2>&1

Ця команда запускатиме скрипт оновлення FreshRSS кожні 15 хвилин від імені користувача www-data (під яким працює PHP-FPM). Перенаправлення виводу в /dev/null запобігає заповненню логів непотрібними повідомленнями.

4. Перевірка працездатності

Щоб переконатися, що все працює коректно:

  • Відкрийте https://yourdomain.com у браузері та переконайтеся, що ви бачите інтерфейс FreshRSS.
  • Спробуйте додати кілька RSS-фідів та переконайтеся, що вони успішно оновлюються.
  • Перевірте логи Caddy на наявність помилок:
  • 
    sudo journalctl -u caddy --since "5 minutes ago"
    
  • Перевірте логи PHP-FPM:
  • 
    sudo journalctl -u php8.3-fpm --since "5 minutes ago"
    
  • Переконайтеся, що cron-завдання виконується, перевіривши час останнього оновлення фідів у панелі адміністратора FreshRSS.

На цьому етапі ваш FreshRSS повністю налаштований та функціонує.

Резервне копіювання та обслуговування

Схема: Резервне копіювання та обслуговування
Схема: Резервне копіювання та обслуговування

Регулярне резервне копіювання та своєчасне обслуговування сервера — критично важливі аспекти для будь-якої системи. FreshRSS зберігає всі ваші фіди, налаштування та користувацькі дані в базі даних і файловій системі, тому важливо забезпечити їх збереження.

1. Що копіювати

Для FreshRSS необхідно копіювати три основні компоненти:

  1. База даних MariaDB: Містить усі ваші підписки, статті, прочитані/непрочитані статуси, користувачів та їхні налаштування. Це найважливіший компонент.
  2. Директорія даних FreshRSS: /var/www/freshrss/data/. Ця директорія містить конфігураційні файли FreshRSS, кеш, користувацькі налаштування та інші службові дані, які не зберігаються в БД.
  3. Конфігураційні файли веб-сервера: /etc/caddy/Caddyfile. Збереження конфігурації Caddy дозволить швидко відновити веб-сервер у разі потреби.

2. Простий скрипт автокопіювання

Створимо простий bash-скрипт, який виконуватиме резервне копіювання. Ми будемо використовувати mysqldump для бази даних і tar для файлових архівів.


# Створення директорії для резервних копій
sudo mkdir -p /opt/backups/freshrss
sudo chown freshrssuser:freshrssuser /opt/backups/freshrss

# Створення скрипта резервного копіювання
nano /opt/backups/freshrss/backup_freshrss.sh

Вставте наступний вміст, замінивши ВАШ_ПАРОЛЬ_БД на пароль користувача бази даних FreshRSS:


#!/bin/bash

# Змінні
BACKUP_DIR="/opt/backups/freshrss"
DATE=$(date +%Y%m%d%H%M%S)
DB_NAME="freshrss_db"
DB_USER="freshrss_user"
DB_PASS="ВАШ_ПАРОЛЬ_БД" # Використовуйте надійний пароль
FRESHRSS_PATH="/var/www/freshrss"
CADDY_CONFIG="/etc/caddy/Caddyfile"

# Створення дампу бази даних
echo "Dumping MariaDB database..."
mysqldump --user=$DB_USER --password=$DB_PASS $DB_NAME > "$BACKUP_DIR/$DB_NAME-$DATE.sql"

# Архівування директорії даних FreshRSS
echo "Archiving FreshRSS data directory..."
tar -czf "$BACKUP_DIR/freshrss_data-$DATE.tar.gz" -C "$FRESHRSS_PATH" data/ config/

# Копіювання конфігурації Caddy
echo "Copying Caddyfile..."
cp "$CADDY_CONFIG" "$BACKUP_DIR/Caddyfile-$DATE.conf"

# Видалення старих резервних копій (старше 7 днів)
echo "Cleaning up old backups..."
find "$BACKUP_DIR" -type f -name ".sql" -mtime +7 -delete
find "$BACKUP_DIR" -type f -name ".tar.gz" -mtime +7 -delete
find "$BACKUP_DIR" -type f -name ".conf" -mtime +7 -delete

echo "Backup finished at $DATE"

Збережіть файл і зробіть його виконуваним:


chmod +x /opt/backups/freshrss/backup_freshrss.sh

Тепер додайте цей скрипт до Cron для автоматичного виконання. Наприклад, для щоденного резервного копіювання о 03:00 ночі:


crontab -e

Додайте наступний рядок:


0 3    /opt/backups/freshrss/backup_freshrss.sh >> /var/log/freshrss_backup.log 2>&1

Це запускатиме скрипт щодня та логуватиме його вивід у /var/log/freshrss_backup.log.

3. Куди зберігати резервні копії

Зберігання резервних копій на тому ж сервері, що й робоча система, є ризикованим. У разі збою сервера (наприклад, відмови диска) ви втратите і систему, і резервні копії. Рекомендується використовувати віддалене сховище:

  • Зовнішній S3-сумісний сервіс: AWS S3, DigitalOcean Spaces, Backblaze B2. Для цього можна інтегрувати s3cmd або rclone у скрипт резервного копіювання.
  • Окремий VPS: Якщо у вас є інший VPS, можна налаштувати rsync або scp для копіювання резервних копій туди по SSH.
  • Локальний комп'ютер: Для дуже маленьких проєктів можна періодично завантажувати резервні копії на свій комп'ютер вручну або за допомогою скрипта.

Наприклад, для копіювання на інший сервер по SSH (після налаштування SSH-ключів без пароля):


# Додати до скрипта backup_freshrss.sh після архівування
echo "Copying backups to remote server..."
rsync -avz "$BACKUP_DIR/" freshrssuser@REMOTE_IP:/path/to/remote/backups/

4. Оновлення: rolling vs. maintenance window

Підтримка системи в актуальному стані критично важлива для безпеки та стабільності.

  • Оновлення ОС (Ubuntu): Регулярно запускайте sudo apt update && sudo apt upgrade -y. Для продакшн-систем бажано робити це в рамках запланованого вікна обслуговування, щоб уникнути несподіваних збоїв. Для персонального сервера можна робити частіше.
  • Оновлення PHP, MariaDB, Caddy: Вони також оновлюються через apt upgrade. Іноді оновлення цих компонентів можуть вимагати ручного втручання (наприклад, злиття конфігураційних файлів).
  • Оновлення FreshRSS:
    • Через Git: Якщо ви спочатку клонували репозиторій Git, то оновлення зводиться до git pull у директорії FreshRSS, а потім, можливо, до запуску міграцій бази даних через веб-інтерфейс.
    • Через завантаження архіву: Якщо ви встановили FreshRSS із ZIP-архіву, то для оновлення потрібно завантажити нову версію, розпакувати її, скопіювати data/ та config/ зі старої установки в нову, потім оновити симлінки або змінити кореневу директорію в Caddyfile.

Рекомендована стратегія:

  1. Проводьте оновлення в запланований час.
  2. Перед великими оновленнями (особливо мажорними версіями PHP або FreshRSS) зробіть повну резервну копію.
  3. Прочитайте changelog'и програм, що оновлюються, щоб бути в курсі можливих змін або необхідних ручних дій.
  4. Для FreshRSS після оновлення файлів завжди заходьте у веб-інтерфейс, щоб переконатися, що не потрібна міграція бази даних.

Вирішення проблем + FAQ

У цьому розділі зібрані відповіді на поширені запитання та рішення типових проблем, які можуть виникнути під час встановлення та експлуатації FreshRSS.

Який VPS-конфіг мінімально підійде?

Для FreshRSS в одиночному режимі або для невеликої групи до 5 користувачів із кількома сотнями фідів, мінімально підійде VPS з 1 vCPU, 1 ГБ оперативної пам'яті та 20-30 ГБ SSD-диска. Цієї конфігурації буде достатньо для стабільної роботи, але при збільшенні кількості фідів або користувачів рекомендується збільшити RAM до 2 ГБ для кращої продуктивності бази даних і PHP-FPM.

Що вибрати — VPS чи dedicated для цього завдання?

Для встановлення FreshRSS майже завжди достатньо VPS. Dedicated сервери значно дорожчі та пропонують надлишкові ресурси для RSS-агрегатора, якщо тільки ви не плануєте обслуговувати тисячі користувачів або інтегрувати FreshRSS у дуже велику інфраструктуру з іншими ресурсомісткими сервісами. VPS забезпечує відмінний баланс між продуктивністю, гнучкістю та вартістю для FreshRSS.

Чому я бачу помилку "502 Bad Gateway" у браузері?

Помилка "502 Bad Gateway" зазвичай вказує на проблему з PHP-FPM. Веб-сервер (Caddy) не може зв'язатися з PHP-FPM або PHP-FPM не обробляє запити.

Що перевірити:

  • Переконайтеся, що PHP-FPM запущено: sudo systemctl status php8.3-fpm. Якщо він неактивний, спробуйте запустити: sudo systemctl start php8.3-fpm.
  • Перевірте логи PHP-FPM: sudo journalctl -u php8.3-fpm. Шукайте помилки, які можуть вказувати на проблеми з конфігурацією PHP або нестачу пам'яті.
  • Переконайтеся, що Caddy налаштований на правильний сокет PHP-FPM (unix//run/php/php8.3-fpm.sock).

Як оновити FreshRSS до нової версії?

Якщо ви дотримувалися цього посібника, то FreshRSS було встановлено з архіву. Для оновлення:

  1. Зробіть резервну копію: Обов'язково виконайте повну резервну копію бази даних та директорії /var/www/freshrss/data.
  2. Завантажте нову версію: Завантажте останній ZIP-архів FreshRSS з GitHub-сторінки релізів.
  3. Розпакуйте: Розпакуйте новий архів у нову тимчасову директорію (наприклад, /var/www/freshrss_new).
  4. Перенесіть дані: Скопіюйте вміст старих директорій /var/www/freshrss/data та /var/www/freshrss/config у відповідні директорії нової установки.
  5. Оновіть посилання: Перейменуйте стару директорію /var/www/freshrss (наприклад, на freshrss_old) і перейменуйте нову директорію freshrss_new на freshrss.
  6. Встановіть права: sudo chown -R www-data:www-data /var/www/freshrss && sudo chmod -R 755 /var/www/freshrss.
  7. Перезапустіть Caddy: sudo systemctl reload caddy.
  8. Завершіть у браузері: Відкрийте FreshRSS у браузері. Якщо потрібна міграція бази даних, FreshRSS запропонує її виконати.

Мої фіди не оновлюються автоматично, що робити?

Це, швидше за все, проблема з Cron-завданням.

Що перевірити:

  • Переконайтеся, що Cron-завдання для www-data існує та коректне: sudo crontab -u www-data -l.
  • Перевірте, що шлях до PHP-інтерпретатора та скрипта actualize_script.php правильний.
  • Переконайтеся, що користувач www-data має права на виконання скрипта та запис у директорії FreshRSS.
  • Перевірте системні логи Cron: sudo grep CRON /var/log/syslog.
  • Спробуйте запустити скрипт вручну від імені користувача www-data: sudo -u www-data php /var/www/freshrss/app/actualize_script.php і подивіться на вивід.

Як додати новий фід у FreshRSS?

У веб-інтерфейсі FreshRSS перейдіть до розділу "Підписки" (Subscriptions), потім натисніть кнопку "Додати фід" (Add feed) або значок "+". Вставте URL RSS-потоку в поле та натисніть "Додати". FreshRSS спробує виявити та додати фід. Ви також можете вказати категорію для нового фіда.

Як налаштувати FreshRSS для доступу через мобільний додаток?

FreshRSS підтримує Fever API, що дозволяє використовувати його з безліччю мобільних RSS-клієнтів (наприклад, Reeder, NetNewsWire, Lire).

  1. У FreshRSS перейдіть до "Налаштування" (Settings) -> "Аутентифікація" (Authentication).
  2. Увімкніть "API" та виберіть "Fever API" як метод.
  3. Створіть "Токен API" (API Token) для кожного клієнта або використовуйте існуючий.
  4. У вашому мобільному додатку виберіть "Fever" або "Self-hosted RSS" як джерело та введіть адресу вашого FreshRSS (https://yourdomain.com/p/api/fever) та токен API.

Висновки та наступні кроки

Схема: Висновки та наступні кроки
Схема: Висновки та наступні кроки

Вітаємо! Ви успішно встановили та налаштували FreshRSS на своєму VPS, створивши потужний, приватний та повністю контрольований RSS-агрегатор. Тепер у вас є інструмент для ефективного управління інформаційними потоками, який не залежить від сторонніх сервісів та захищає вашу конфіденційність. Ви освоїли не тільки встановлення програми, а й базові принципи налаштування веб-сервера, бази даних, PHP, а також забезпечення безпеки та резервного копіювання.

Куди рухатися далі?

  1. Дослідіть функціонал FreshRSS: Поекспериментуйте з категоріями, фільтрами, правилами архівації, інтеграцією з іншими сервісами (наприклад, Instapaper або Wallabag для відкладеного читання), доступними у FreshRSS.
  2. Оптимізація та моніторинг: Слідкуйте за споживанням ресурсів вашого VPS за допомогою таких утиліт, як htop або grafana. За необхідності можна тонко налаштувати PHP-FPM або Caddy для кращої продуктивності або зниження споживання пам'яті.
  3. Додаткові сервіси: Можливо, ви захочете розгорнути інші корисні self-hosted додатки на вашому VPS, такі як менеджер паролів Vaultwarden, система управління проєктами Kanboard або персональне хмарне сховище Nextcloud.

Поділитися цим записом:

встановлення freshrss на vps: свій rss-агрегатор з доступом звідусіль
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.