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

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

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

calendar_month Jul 11, 2026 schedule 18 мин. чтения visibility 656 просмотров
Установка 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.

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

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

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

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

Telegram VKVK WhatsApp Facebook LinkedIn XX

установка 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.