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

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

Установка FreshRSS на VPS: Свой RSS-агрегатор с доступом отовсюду

calendar_month Jul 11, 2026 schedule 18 мин. чтения visibility 17 просмотров
Установка 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 после обновления файлов всегда заходите в веб-интерфейс, чтобы убедиться, что не требуется миграция базы данных.

Troubleshooting + 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.