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é
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
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.
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.
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
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.