bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward
eco Principiante Tutorial/Cómo hacer

Instalación de FreshRSS en

calendar_month Jul 11, 2026 schedule 18 min de lectura visibility 10 vistas
Установка FreshRSS на VPS: Свой RSS-агрегатор с доступом отовсюду
info

¿Necesitas un servidor para esta guía? Ofrecemos servidores dedicados y VPS en más de 50 países con configuración instantánea.

¿Necesitas un VPS para esta guía?

Explore otras opciones de servidores dedicados en

Instalación de FreshRSS en un VPS: Tu propio agregador RSS con acceso desde cualquier lugar

TL;DR

En esta guía detallada, configuraremos paso a paso un agregador RSS personal FreshRSS en tu propio servidor privado virtual (VPS). Obtendrás control total sobre tus fuentes de noticias, asegurarás la privacidad de tu lectura y podrás acceder a tus fuentes de información favoritas desde cualquier dispositivo, utilizando el poder del software de código abierto y la fiabilidad de la infraestructura en la nube.

  • Instalaremos y configuraremos FreshRSS en Ubuntu Server 24.04 LTS.
  • Aseguraremos el acceso seguro a través de HTTPS con la ayuda de Caddy.
  • Desplegaremos el servidor web Caddy, PHP 8.3 y la base de datos MariaDB.
  • Configuraremos actualizaciones automáticas de feeds y un sistema de copia de seguridad.
  • Obtendremos control total sobre los datos y la privacidad de la lectura de noticias.

Qué configuramos y por qué

Esquema: Qué configuramos y por qué
Esquema: Qué configuramos y por qué

En el flujo de información moderno, es crucial tener herramientas para gestionar la información de manera efectiva. RSS (Really Simple Syndication) sigue siendo una de las formas más potentes y privadas de seguir noticias, blogs y podcasts, sin depender de los algoritmos de las redes sociales o los boletines por correo electrónico. Sin embargo, muchos servicios RSS populares son soluciones propietarias en la nube que pueden recopilar datos sobre tu lectura, mostrar anuncios o simplemente dejar de existir.

Aquí es donde entra en juego FreshRSS, un agregador RSS gratuito y de código abierto (GPL v3) que puedes instalar en tu propio servidor. Ofrece una interfaz limpia, rápida e intuitiva, soporte para múltiples idiomas, una API para clientes móviles (compatible con Fever API), así como potentes herramientas para filtrar y categorizar feeds. Al instalar FreshRSS en tu VPS, obtienes control total sobre tus datos, garantizas la privacidad de tu lectura y creas un centro centralizado para todos tus flujos de información, accesible desde cualquier lugar.

En resumen, al finalizar esta guía, tendrás un agregador RSS FreshRSS completamente funcional, ejecutándose en tu VPS bajo Ubuntu Server 24.04 LTS. Estará disponible a través de una conexión HTTPS segura utilizando el nombre de dominio que elijas, y podrá actualizar automáticamente tus feeds. Podrás añadir y leer flujos RSS a través de la interfaz web o mediante cualquier aplicación móvil compatible con Fever API, sin restricciones ni seguimiento.

Existen alternativas como Feedly, Inoreader o The Old Reader. Estos son servicios en la nube que ofrecen comodidad "listos para usar" por una tarifa mensual. Son ideales para quienes no quieren preocuparse por la configuración técnica. Sin embargo, al elegir una solución autoalojada en un VPS, evitas los pagos mensuales por el servicio en sí (solo pagas por el VPS), obtienes total confidencialidad (tus datos permanecen solo contigo), puedes personalizar el sistema según tus necesidades sin restricciones y no dependes de las políticas de terceros. Es la elección ideal para quienes valoran la independencia y el control sobre su vida digital.

Qué configuración de VPS se necesita para esta tarea

Esquema: Qué configuración de VPS se necesita para esta tarea
Esquema: Qué configuración de VPS se necesita para esta tarea

FreshRSS es una aplicación relativamente ligera, especialmente si planeas usarla solo o para un pequeño grupo de usuarios (hasta 5-10 personas) con una cantidad razonable de feeds (hasta varios cientos). Para esta tarea no se requiere un servidor potente, lo que lo convierte en un candidato ideal para el despliegue en un VPS económico.

Requisitos mínimos:

  • Procesador (CPU): 1 núcleo (x86_64, 2 GHz+). FreshRSS es principalmente de un solo hilo, por lo que una alta frecuencia es más importante que el número de núcleos para operaciones básicas.
  • Memoria RAM: 1-2 GB. 1 GB será suficiente para FreshRSS y todas sus dependencias (Caddy, PHP-FPM, MariaDB) en una configuración mínima. 2 GB asegurarán un funcionamiento más cómodo y permitirán mantener más datos en la caché de la base de datos.
  • Espacio en disco: 20-40 GB SSD. El sistema operativo ocupará alrededor de 10-15 GB. FreshRSS y su base de datos utilizarán el espacio restante para almacenar artículos, imágenes y caché. El SSD es crítico para el funcionamiento rápido de la base de datos y el acceso a los archivos.
  • Red: Puerto de 100 Mbps o 1 Gbps. Para un agregador RSS, que principalmente descarga contenido de texto, la velocidad del puerto es menos crítica que la estabilidad de la conexión. El tráfico mensual generalmente no supera varios cientos de gigabytes.

Plan de VPS recomendado para un funcionamiento cómodo (para 2026):

  • CPU: 2 vCPU
  • RAM: 2-4 GB
  • Disco: 50-80 GB SSD
  • Red: Puerto de 1 Gbps, 1-2 TB de tráfico.

Esta configuración será suficiente para FreshRSS con varios miles de feeds y decenas de usuarios, y también quedará un margen para otros servicios pequeños en el mismo VPS. Los VPS con las características indicadas se pueden alquilar a la mayoría de los proveedores de servicios en la nube.

Cuándo se necesita un servidor dedicado y no un VPS:

Para FreshRSS, en la gran mayoría de los casos, un servidor dedicado es excesivo. Se necesita si planeas:

  • Atender a cientos o miles de usuarios.
  • Agregar millones de artículos diariamente y almacenar enormes volúmenes de datos.
  • Ejecutar muchas otras aplicaciones que consumen muchos recursos en el mismo hardware.
  • Requerir el máximo rendimiento de entrada/salida o acceso exclusivo al hardware.
Para el uso típico de FreshRSS, incluso a escala de un pequeño equipo, un VPS es más que suficiente y significativamente más económico.

Ubicación del VPS: qué factores influye

La elección de la ubicación geográfica de tu VPS influye en varios factores:

  • Latencia: Cuanto más cerca esté el servidor de ti y de tu audiencia principal (si la hay), más rápida será la respuesta de la interfaz web. Para un agregador RSS, esto no es crítico, pero es agradable.
  • Disponibilidad de contenido: Si agregas contenido de regiones específicas, ubicar el servidor más cerca de esas fuentes puede acelerar ligeramente la actualización de los feeds.
  • Legislación: La ubicación del servidor en una jurisdicción determinada significa que tus datos estarán sujetos a las leyes de ese país. Si la privacidad de los datos es una prioridad, elige países con una legislación sólida de protección de datos.
Para la mayoría de los usuarios, cualquier ubicación estable en un gran centro de datos será adecuada.

Preparación del servidor

Esquema: Preparación del servidor
Esquema: Preparación del servidor

Antes de instalar FreshRSS, es necesario realizar una configuración básica y preparar tu VPS. Utilizaremos Ubuntu Server 24.04 LTS (Long Term Support), ya que es un sistema operativo estable y ampliamente utilizado con soporte a largo plazo, relevante también en 2026.

1. Conexión al servidor y actualización del sistema

Conéctate a tu nuevo VPS por SSH. Normalmente, el proveedor te proporciona una dirección IP y un nombre de usuario (por ejemplo, root) con una contraseña temporal o una clave SSH.


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

Después de iniciar sesión correctamente, actualiza la lista de paquetes y el propio sistema a las últimas versiones:


sudo apt update && sudo apt upgrade -y

Este comando actualizará todos los paquetes instalados a sus versiones más recientes y asegurará que tengas todos los parches de seguridad necesarios.

2. Creación de un nuevo usuario y configuración de sudo

Trabajar con la cuenta root no es seguro. Crearemos un nuevo usuario con derechos limitados y le daremos la capacidad de ejecutar comandos con sudo.


sudo adduser freshrssuser

Sigue las instrucciones en pantalla para establecer una contraseña e información del usuario. Luego, añade el nuevo usuario al grupo sudo:


sudo usermod -aG sudo freshrssuser

Ahora puedes salir de root e iniciar sesión como freshrssuser:


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

Todos los comandos posteriores se ejecutarán como freshrssuser, utilizando sudo cuando sea necesario.

3. Configuración de claves SSH (recomendado)

Para aumentar la seguridad, se recomienda utilizar claves SSH en lugar de contraseñas. Si aún no tienes un par de claves, genéralas en tu ordenador local:


ssh-keygen -t rsa -b 4096

Luego, copia la clave pública al servidor:


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

Después de esto, podrás iniciar sesión sin contraseña. Para deshabilitar completamente el inicio de sesión con contraseña (lo cual es muy recomendable por seguridad), edita el archivo de configuración del servidor SSH:


sudo nano /etc/ssh/sshd_config

Busca y cambia las siguientes líneas (o añádelas si no existen):


PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Reinicia el servicio SSH para aplicar los cambios:


sudo systemctl restart sshd

Importante: Asegúrate de que puedes iniciar sesión con la clave antes de deshabilitar la autenticación por contraseña, de lo contrario, perderás el acceso al servidor.

4. Configuración del firewall (UFW)

UFW (Uncomplicated Firewall) es una interfaz fácil de usar para configurar reglas de iptables. Habilítalo y permite los puertos necesarios:


sudo ufw allow OpenSSH         # Permitir SSH (puerto 22)
sudo ufw allow http            # Permitir HTTP (puerto 80)
sudo ufw allow https           # Permitir HTTPS (puerto 443)
sudo ufw enable                # Habilitar el firewall
sudo ufw status                # Verificar el estado

Después de habilitar UFW, asegúrate de que la conexión SSH no se haya interrumpido. Si todo está en orden, el firewall ahora protege tu servidor.

5. Instalación de Fail2ban

Fail2ban escanea los registros del servidor en busca de actividad sospechosa (por ejemplo, intentos fallidos de inicio de sesión SSH) y bloquea temporalmente las direcciones IP que realizan dichos intentos. Es una excelente protección contra ataques de fuerza bruta.


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

Fail2ban está configurado por defecto para proteger SSH. Puedes verificar su estado:


sudo fail2ban-client status
sudo fail2ban-client status sshd

Con esto, la preparación básica del servidor ha finalizado. Ahora estamos listos para instalar el software principal.

Instalación de software — paso a paso

Diagrama: Instalación de software — paso a paso
Diagrama: Instalación de software — paso a paso

Para que FreshRSS funcione, necesitaremos un servidor web (Caddy), un intérprete de PHP con el módulo FPM y una base de datos (MariaDB). Utilizaremos las versiones de software actuales disponibles en 2026.

1. Instalación y configuración de MariaDB (base de datos compatible con MySQL)

MariaDB es un sistema de gestión de bases de datos potente y rápido, que es un fork de MySQL y es totalmente compatible con él. FreshRSS funciona perfectamente con MariaDB.


# Установка сервера MariaDB
sudo apt install mariadb-server -y

Después de la instalación, ejecute el script para la protección básica de MariaDB:


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

Siga las instrucciones: establezca una contraseña para el usuario root de la base de datos, elimine los usuarios anónimos, prohíba el inicio de sesión remoto de root y elimine la base de datos de prueba. Luego, inicie sesión en MariaDB como root (de la base de datos) y cree una base de datos y un usuario para FreshRSS:


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

Dentro de la consola de MariaDB, ejecute los siguientes comandos, reemplazando freshrss_user y SU_CONTRASEÑA_DB con sus propios valores:


CREATE DATABASE freshrss_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'freshrss_user'@'localhost' IDENTIFIED BY 'SU_CONTRASEÑA_DB';
GRANT ALL PRIVILEGES ON freshrss_db. TO 'freshrss_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Estos comandos crean la base de datos freshrss_db, el usuario freshrss_user con la contraseña especificada y le otorgan todos los privilegios sobre esta base de datos.

2. Instalación de PHP y extensiones necesarias

FreshRSS está escrito en PHP. Instalaremos PHP versión 8.3 (o superior, si está disponible) y todas las extensiones necesarias.


# Установка 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

Estas extensiones permiten a FreshRSS trabajar con la base de datos, procesar XML, imágenes, soporte multilingüe, compresión y realizar solicitudes HTTP. PHP-FPM (FastCGI Process Manager) gestionará los procesos de PHP para el servidor web.

Verifique el estado de PHP-FPM:


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

Asegúrese de que esté en ejecución y activo.

3. Instalación del servidor web Caddy

Caddy es un servidor web moderno y fácil de configurar que gestiona automáticamente los certificados Let's Encrypt para HTTPS. Esto simplifica enormemente la configuración de 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

Estos comandos añaden el repositorio oficial de Caddy e instalan el servidor web. Caddy se inicia automáticamente como un servicio del sistema.


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

4. Instalación de FreshRSS

Descargaremos la última versión estable de FreshRSS desde GitHub y la colocaremos en un directorio adecuado para el servidor web.


# Переход в директорию для веб-приложений
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

Ahora todos los componentes están instalados y podemos proceder a su configuración.

Configuración

Diagrama: Configuración
Diagrama: Configuración

Después de instalar todos los componentes, es necesario configurarlos correctamente para que FreshRSS pueda funcionar.

1. Configuración de Caddy

Caddy utiliza el archivo Caddyfile para su configuración. Lo configuraremos para servir FreshRSS y obtener automáticamente certificados SSL.


# Открытие файла Caddyfile для редактирования
sudo nano /etc/caddy/Caddyfile

Elimine todo el contenido existente e inserte lo siguiente, reemplazando yourdomain.com con su nombre de dominio real:


yourdomain.com {
    # Directorio raíz de FreshRSS
    root  /var/www/freshrss/p/

    # Habilitar compresión gzip
    encode gzip

    # Encabezado Strict-Transport-Security para HTTPS
    header {
        Strict-Transport-Security max-age=31536000;
        X-Content-Type-Options nosniff
        X-Frame-Options DENY
        X-XSS-Protection "1; mode=block"
    }

    # Procesamiento de archivos PHP a través de PHP-FPM
    php_fastcgi unix//run/php/php8.3-fpm.sock {
        # Opciones adicionales, si es necesario
    }

    # Protección del directorio data contra acceso directo
    @data {
        path /data/
    }
    respond @data 403

    # Protección del directorio app contra acceso directo
    @app {
        path /app/
    }
    respond @app 403

    # Protección del directorio config contra acceso directo
    @config {
        path /config/
    }
    respond @config 403

    # Reescritura de URL para FreshRSS (controlador frontend)
    try_files {path} {path}/ /index.php?{query}

    # Registro
    log {
        output file /var/log/caddy/freshrss_access.log
        format json
    }

    # Obtención automática de certificados SSL/TLS
    tls {
        # Se puede especificar un correo electrónico para notificaciones de Let's Encrypt
        # email [email protected]
    }
}

Importante: Asegúrese de que su nombre de dominio (yourdomain.com) apunte a la dirección IP de su VPS a través de un registro DNS A. Sin esto, Caddy no podrá obtener un certificado SSL.

Guarde el archivo (Ctrl+X, Y, Enter) y verifique la configuración de Caddy, luego reinicie el servicio:


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

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

Si todo está en orden, Caddy debería iniciarse correctamente y comenzar a servir su dominio a través de HTTPS.

2. Configuración inicial de FreshRSS a través de la interfaz web

Abra su navegador y vaya a https://yourdomain.com. Verá la página de bienvenida de FreshRSS.

En el primer paso, seleccione el idioma. Luego, FreshRSS verificará los requisitos del sistema. Asegúrese de que todos los elementos estén marcados en verde. Si hay advertencias, asegúrese de haber instalado todas las extensiones de PHP y de haber configurado correctamente los permisos de acceso.

En el siguiente paso, FreshRSS solicitará los datos para conectarse a la base de datos. Ingrese la información que configuró anteriormente:

  • Tipo de base de datos: MySQL (o MariaDB)
  • Host de la base de datos: localhost
  • Nombre de la base de datos: freshrss_db
  • Usuario de la base de datos: freshrss_user
  • Contraseña de la base de datos: SU_CONTRASEÑA_DB

Después de una conexión exitosa a la base de datos, FreshRSS le pedirá que cree una cuenta de administrador. Establezca un nombre de usuario y una contraseña segura. Este será su inicio de sesión para acceder a FreshRSS.

¡Felicidades! FreshRSS está instalado y listo para usar.

3. Configuración de la actualización automática de feeds (Cron Job)

Para que FreshRSS actualice automáticamente los flujos RSS, es necesario configurar una tarea Cron.


# Открытие таблицы Cron для редактирования
sudo crontab -u www-data -e

Si es la primera vez, elija un editor (por ejemplo, nano). Al final del archivo, añada la siguiente línea:


# Actualización de feeds de FreshRSS cada 15 minutos
/15     php /var/www/freshrss/app/actualize_script.php > /dev/null 2>&1

Este comando ejecutará el script de actualización de FreshRSS cada 15 minutos bajo el usuario www-data (bajo el cual se ejecuta PHP-FPM). La redirección de la salida a /dev/null evita que los registros se llenen de mensajes innecesarios.

4. Verificación del funcionamiento

Para asegurarse de que todo funciona correctamente:

  • Abra https://yourdomain.com en su navegador y asegúrese de ver la interfaz de FreshRSS.
  • Intente añadir algunos feeds RSS y asegúrese de que se actualizan correctamente.
  • Verifique los registros de Caddy en busca de errores:
  • 
    sudo journalctl -u caddy --since "5 minutes ago"
    
  • Verifique los registros de PHP-FPM:
  • 
    sudo journalctl -u php8.3-fpm --since "5 minutes ago"
    
  • Asegúrese de que la tarea cron se esté ejecutando, verificando la hora de la última actualización de feeds en el panel de administración de FreshRSS.

En este punto, su FreshRSS está completamente configurado y funcionando.

Copias de seguridad y mantenimiento

Diagrama: Copias de seguridad y mantenimiento
Diagrama: Copias de seguridad y mantenimiento

Las copias de seguridad regulares y el mantenimiento oportuno del servidor son aspectos críticamente importantes para cualquier sistema. FreshRSS almacena todos sus feeds, configuraciones y datos de usuario en la base de datos y el sistema de archivos, por lo que es crucial garantizar su seguridad.

1. Qué respaldar

Para FreshRSS, es necesario respaldar tres componentes principales:

  1. Base de datos MariaDB: Contiene todas sus suscripciones, artículos, estados leídos/no leídos, usuarios y sus configuraciones. Este es el componente más importante.
  2. Directorio de datos de FreshRSS: /var/www/freshrss/data/. Este directorio contiene los archivos de configuración de FreshRSS, la caché, las configuraciones de usuario y otros datos de servicio que no se almacenan en la BD.
  3. Archivos de configuración del servidor web: /etc/caddy/Caddyfile. Guardar la configuración de Caddy permitirá restaurar rápidamente el servidor web en caso de necesidad.

2. Script simple de copia de seguridad automática

Crearemos un script bash simple que realizará la copia de seguridad. Usaremos mysqldump para la base de datos y tar para los archivos.


# Creación del directorio para copias de seguridad
sudo mkdir -p /opt/backups/freshrss
sudo chown freshrssuser:freshrssuser /opt/backups/freshrss

# Creación del script de copia de seguridad
nano /opt/backups/freshrss/backup_freshrss.sh

Pegue el siguiente contenido, reemplazando ВАШ_ПАРОЛЬ_БД con la contraseña del usuario de la base de datos de FreshRSS:


#!/bin/bash

# Variables
BACKUP_DIR="/opt/backups/freshrss"
DATE=$(date +%Y%m%d%H%M%S)
DB_NAME="freshrss_db"
DB_USER="freshrss_user"
DB_PASS="ВАШ_ПАРОЛЬ_БД" # Use una contraseña segura
FRESHRSS_PATH="/var/www/freshrss"
CADDY_CONFIG="/etc/caddy/Caddyfile"

# Creación del volcado de la base de datos
echo "Volcando la base de datos MariaDB..."
mysqldump --user=$DB_USER --password=$DB_PASS $DB_NAME > "$BACKUP_DIR/$DB_NAME-$DATE.sql"

# Archivando el directorio de datos de FreshRSS
echo "Archivando el directorio de datos de FreshRSS..."
tar -czf "$BACKUP_DIR/freshrss_data-$DATE.tar.gz" -C "$FRESHRSS_PATH" data/ config/

# Copiando la configuración de Caddy
echo "Copiando Caddyfile..."
cp "$CADDY_CONFIG" "$BACKUP_DIR/Caddyfile-$DATE.conf"

# Eliminando copias de seguridad antiguas (más de 7 días)
echo "Limpiando copias de seguridad antiguas..."
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 "Copia de seguridad finalizada en $DATE"

Guarde el archivo y hágalo ejecutable:


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

Ahora, agregue este script a Cron para su ejecución automática. Por ejemplo, para una copia de seguridad diaria a las 03:00 de la madrugada:


crontab -e

Agregue la siguiente línea:


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

Esto ejecutará el script diariamente y registrará su salida en /var/log/freshrss_backup.log.

3. Dónde almacenar las copias de seguridad

Almacenar las copias de seguridad en el mismo servidor que el sistema en producción es arriesgado. En caso de fallo del servidor (por ejemplo, un fallo de disco), perderá tanto el sistema como las copias de seguridad. Se recomienda utilizar un almacenamiento remoto:

  • Servicio externo compatible con S3: AWS S3, DigitalOcean Spaces, Backblaze B2. Para esto, puede integrar s3cmd o rclone en el script de copia de seguridad.
  • VPS separado: Si tiene otro VPS, puede configurar rsync o scp para copiar las copias de seguridad allí a través de SSH.
  • Ordenador local: Para proyectos muy pequeños, puede descargar periódicamente las copias de seguridad a su ordenador manualmente o mediante un script.

Por ejemplo, para copiar a otro servidor por SSH (después de configurar las claves SSH sin contraseña):


# Añadir al script backup_freshrss.sh después de la archivación
echo "Copiando copias de seguridad al servidor remoto..."
rsync -avz "$BACKUP_DIR/" freshrssuser@REMOTE_IP:/path/to/remote/backups/

4. Actualizaciones: rolling vs. ventana de mantenimiento

Mantener el sistema actualizado es crítico para la seguridad y la estabilidad.

  • Actualizaciones del SO (Ubuntu): Ejecute regularmente sudo apt update && sudo apt upgrade -y. Para sistemas de producción, es recomendable hacerlo dentro de una ventana de mantenimiento planificada para evitar fallos inesperados. Para un servidor personal, se puede hacer con más frecuencia.
  • Actualizaciones de PHP, MariaDB, Caddy: También se actualizan a través de apt upgrade. A veces, las actualizaciones de estos componentes pueden requerir intervención manual (por ejemplo, la fusión de archivos de configuración).
  • Actualizaciones de FreshRSS:
    • A través de Git: Si clonó inicialmente el repositorio de Git, la actualización se reduce a un git pull en el directorio de FreshRSS y luego, posiblemente, a la ejecución de migraciones de la base de datos a través de la interfaz web.
    • A través de la descarga de un archivo: Si instaló FreshRSS desde un archivo ZIP, para actualizarlo, debe descargar la nueva versión, descomprimirla, copiar data/ y config/ de la instalación antigua a la nueva, y luego actualizar los enlaces simbólicos o cambiar el directorio raíz en Caddyfile.

Estrategia recomendada:

  1. Realice las actualizaciones en un horario planificado.
  2. Antes de actualizaciones importantes (especialmente versiones mayores de PHP o FreshRSS), realice una copia de seguridad completa.
  3. Lea los changelogs de los programas a actualizar para estar al tanto de posibles cambios o acciones manuales requeridas.
  4. Para FreshRSS, después de actualizar los archivos, acceda siempre a la interfaz web para asegurarse de que no se requiera una migración de la base de datos.

Solución de problemas + Preguntas frecuentes

Esta sección contiene respuestas a preguntas frecuentes y soluciones a problemas típicos que pueden surgir durante la instalación y operación de FreshRSS.

¿Qué configuración mínima de VPS es adecuada?

Para FreshRSS en modo individual o para un pequeño grupo de hasta 5 usuarios con varios cientos de feeds, una configuración mínima de VPS sería 1 vCPU, 1 GB de RAM y 20-30 GB de disco SSD. Esta configuración será suficiente para un funcionamiento estable, pero si aumenta el número de feeds o usuarios, se recomienda aumentar la RAM a 2 GB para un mejor rendimiento de la base de datos y PHP-FPM.

¿Qué elegir: VPS o dedicado para esta tarea?

Para la instalación de FreshRSS, un VPS es casi siempre suficiente. Los servidores dedicados son significativamente más caros y ofrecen recursos excesivos para un agregador RSS, a menos que planee atender a miles de usuarios o integrar FreshRSS en una infraestructura muy grande con otros servicios que consuman muchos recursos. Un VPS ofrece un excelente equilibrio entre rendimiento, flexibilidad y coste para FreshRSS.

¿Por qué veo el error "502 Bad Gateway" en el navegador?

El error "502 Bad Gateway" suele indicar un problema con PHP-FPM. El servidor web (Caddy) no puede comunicarse con PHP-FPM o PHP-FPM no está procesando las solicitudes.

Qué verificar:

  • Asegúrese de que PHP-FPM esté en ejecución: sudo systemctl status php8.3-fpm. Si no está activo, intente iniciarlo: sudo systemctl start php8.3-fpm.
  • Verifique los registros de PHP-FPM: sudo journalctl -u php8.3-fpm. Busque errores que puedan indicar problemas con la configuración de PHP o falta de memoria.
  • Asegúrese de que Caddy esté configurado para el socket PHP-FPM correcto (unix//run/php/php8.3-fpm.sock).

¿Cómo actualizar FreshRSS a una nueva versión?

Si siguió esta guía, FreshRSS se instaló desde un archivo. Para actualizar:

  1. Realice una copia de seguridad: Asegúrese de realizar una copia de seguridad completa de la base de datos y del directorio /var/www/freshrss/data.
  2. Descargue la nueva versión: Descargue el último archivo ZIP de FreshRSS desde la página de lanzamientos de GitHub.
  3. Descomprima: Descomprima el nuevo archivo en un nuevo directorio temporal (por ejemplo, /var/www/freshrss_new).
  4. Transfiera los datos: Copie el contenido de los directorios antiguos /var/www/freshrss/data y /var/www/freshrss/config a los directorios correspondientes de la nueva instalación.
  5. Actualice los enlaces: Renombre el directorio antiguo /var/www/freshrss (por ejemplo, a freshrss_old) y renombre el nuevo directorio freshrss_new a freshrss.
  6. Establezca los permisos: sudo chown -R www-data:www-data /var/www/freshrss && sudo chmod -R 755 /var/www/freshrss.
  7. Reinicie Caddy: sudo systemctl reload caddy.
  8. Finalice en el navegador: Abra FreshRSS en el navegador. Si se requiere una migración de la base de datos, FreshRSS le ofrecerá realizarla.

Mis feeds no se actualizan automáticamente, ¿qué hago?

Esto es, muy probablemente, un problema con la tarea de Cron.

Qué verificar:

  • Asegúrese de que la tarea de Cron para www-data exista y sea correcta: sudo crontab -u www-data -l.
  • Verifique que la ruta al intérprete de PHP y al script actualize_script.php sea correcta.
  • Asegúrese de que el usuario www-data tenga permisos para ejecutar el script y escribir en los directorios de FreshRSS.
  • Verifique los registros del sistema de Cron: sudo grep CRON /var/log/syslog.
  • Intente ejecutar el script manualmente como el usuario www-data: sudo -u www-data php /var/www/freshrss/app/actualize_script.php y observe la salida.

¿Cómo añadir un nuevo feed en FreshRSS?

En la interfaz web de FreshRSS, vaya a la sección "Suscripciones" (Subscriptions), luego haga clic en el botón "Añadir feed" (Add feed) o en el icono "+". Inserte la URL del feed RSS en el campo y haga clic en "Añadir". FreshRSS intentará detectar y añadir el feed. También puede especificar una categoría para el nuevo feed.

¿Cómo configurar FreshRSS para acceder a través de una aplicación móvil?

FreshRSS es compatible con la API de Fever, lo que permite usarlo con una multitud de clientes RSS móviles (por ejemplo, Reeder, NetNewsWire, Lire).

  1. En FreshRSS, vaya a "Configuración" (Settings) -> "Autenticación" (Authentication).
  2. Habilite "API" y seleccione "Fever API" como método.
  3. Cree un "Token API" (API Token) para cada cliente o use uno existente.
  4. En su aplicación móvil, seleccione "Fever" o "Self-hosted RSS" como fuente e introduzca la dirección de su FreshRSS (https://yourdomain.com/p/api/fever) y el token API.

Conclusiones y próximos pasos

Diagrama: Conclusiones y próximos pasos
Diagrama: Conclusiones y próximos pasos

¡Felicidades! Ha instalado y configurado FreshRSS con éxito en su VPS, creando un agregador RSS potente, privado y totalmente controlado. Ahora tiene una herramienta para gestionar eficazmente los flujos de información, que no depende de servicios de terceros y protege su privacidad. Ha dominado no solo la instalación de la aplicación, sino también los principios básicos de configuración del servidor web, la base de datos, PHP, así como la seguridad y las copias de seguridad.

¿Hacia dónde avanzar?

  1. Explore la funcionalidad de FreshRSS: Experimente con categorías, filtros, reglas de archivo, integración con otros servicios (por ejemplo, Instapaper o Wallabag para lectura posterior), disponibles en FreshRSS.
  2. Optimización y monitoreo: Supervise el consumo de recursos de su VPS con utilidades como htop o grafana. Si es necesario, puede ajustar finamente PHP-FPM o Caddy para un mejor rendimiento o una menor utilización de memoria.
  3. Servicios adicionales: Es posible que desee implementar otras aplicaciones self-hosted útiles en su VPS, como el gestor de contraseñas Vaultwarden, el sistema de gestión de proyectos Kanboard o el almacenamiento en la nube personal Nextcloud.

¿Te fue útil esta guía?

instalación FreshRSS en VPS: tu propio agregador RSS con acceso desde cualquier lugar
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.