Montando tiny tiny rss

por | 7 agosto, 2020

y tuve tiempo para jugar con mi VPS y hace rato había escuchado de este software así que metí mano

En algunos podcast escuchaba de este servidor para nuestros RSS, yo tengo mi cuenta en netvibes desde hace mucho tiempo y decidí montar mi propio servidor usando tiny tiny rss y probar que tal, debo decir que la instalación me resulto bastante sencilla aunque siempre merece tener algún apunte por ahí en caso de problemas o querer instalarlo de nuevo.

Como bien menciona las notas de instalación básicamente es cosa de crear la base de datos con soporte para caracteres unicode y su respectivo usuario/pass, clonar el repo git y acceder por web para finalizar la instalación, voy a entrar un poco en detalle en los paquetes necesarios para el correcto funcionamiento de tts.

Paquetes necesarios

Como indica en la página la mayoría de estos paquetes ya vienen instalados por defecto en cualquier servidor web, el resumen de paquetes los pueden encontrar en este link oficial para php y este para el servidor en general en el listado incluyo la mayoría de los paquetes que posiblemente lleguemos a necesitar, varios paquetes son opcionales o son necesarios solo en caso de habilitar ciertos plugins

  • mariadb-server 1*
  • php (en mi caso fue php7.3 pero oficialmente soporta desde 5.6 en adelante)
  • php-xml
  • php-mbstring
  • php-mysql 1*
  • php-int
  • php-curl
  • apache2
  • git
  • curl
  • postgresql 2*
  • php-pgsql 2*
  • php-json
  • php-gd
  • opcode cache/accelerator (php-opcache o similar)

nota: en caso de usar mysql no instalar los paquetes marcados con 2* y viceversa, en caso de instalar postgree no instalar los paquetes marcados con 1*

Base de datos

Para la base de datos podemos usar mysql o postgresql (ni idea si se podrá usar otro tipo) y debería soportar caracteres unicode. Para esto al momento de crear la base de datos usamos

en Mysql

CREATE DATABASE <nombre BD>  CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_520_ci; 

GRANT ALL PRIVILEGES ON <nombre BD>.* TO '<usr>'@'localhost' IDENTIFIED BY '<pass>';

flush privileges;

en postgree

CREATE DATABASE <nombre BD>  WITH ENCODING= 'utf8';

Clonando el repo

ya teniendo los paquetes necesarios instalados y la base de datos configurada procedemos a clonar el repo, luego hay que cambiar el propietario y grupo para que apache pueda escribir en el directorio

git clone https://git.tt-rss.org/fox/tt-rss.git /var/www/html/tt-rss
chown www-data:www-data -R /var/www/html/tt-rss/

Configuraciones finales

una vez clonado el repo accedemos por web (en este caso la url será http://your.site/tt-rss/install/ aunque dependerá de su configuración de apache y donde hayan clonado el repo) para finalizar la instalación, un punto importantes es que si falta algún paquete en la web nos indicara cual es y podremos instalarlo, resulto interesante que una vez creado un usuario «de lectura» (es decir sin permisos administrativos) puedo importar directamente desde netvibes a tts sin problemas (excepto algunas imágenes y animaciones que tenia en netvibes y obviamente no se exportan a tts)

Ejemplo práctico

En mi caso monte un lab usando mysql, luego de creada la bd, clonado el repo y asignado los permisos a la carpeta configure lo necesario en la web y ya quedo lista la configuración

una vez ya configurado desde la web se da a test configuration y si todo sale bien nos saldrá algo como esto

y ya con eso damos a initialize database y tendremos acceso a tiny tiny rss usando las credenciales admin/password

y así de simple es la instalación de tts nos faltarían las ultimas 2 partes que son agregar nuestras fuentes y configurar el servidor para que actualice las fuentes

Actualizando feeds

El ultimo punto que queda pendiente es la actualización de los feeds/rss, por alguna razón tts no incluye por defecto dentro de sus funciones las actualizaciones de los feeds/rss (aunque si se puede configurar la frecuencia de actualización ¿raro no?) por lo que debemos realizar unos pocos pasos extra mas que están descritos en esta pagina de tts.

En mi caso seguí el consejo de dejar el trabajo a systemd y cree un archivo en /etc/systemd/system/ llamado ttrss-updater.service con el siguiente contenido

[Unit]
Description=ttrss_backend
After=network.target mysql.service postgresql.service

[Service]
User=www-data
ExecStart=/path/to/tt-rss/update_daemon2.php

[Install]
WantedBy=multi-user.target

Un punto aqui en la seccion [Service] ExecStart tenemos 2 alternativas
update_daemon2.php el cual es multi proceso y
update.php –daemon el cual solo ejecuta 1 proceso

y luego se habilita el servicio

systemctl enable ttrss-updater.service 
systemctl start ttrss-updater.service 

Nota: actualizando

un dato importante a la hora de actualizar el servidor es que debemos darle a skip initialization si hacemos el proceso de install de nuevo o copiar nuestro config.php a otro directorio y luego sobreescribir el existente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *