Agrégateur de flux avec Tiny Tiny RSS


Il regroupe un ensemble d'article où l'on peut appliquer des règles de filtrage pour relevé ce dont l'on souhaite lire. Sous la licence libre GNU GPL v3, il s'agit d'une application web qui s'installe sur un serveur de type LAMP.

Ce tuto est utile par les personnes ayant déjà un serveur LAMP qui fonctionne.

Requis

Vérifions que nous avons bien les librairies PHP à disposition :

apt install php7.0-pgsql php7.0-json php7.0-xml php7.0-intl php7.0-mbstring php7.0-common php7.0-opcache php7.0-gd php7.0-cli

A la suite de ce tutoriel, j'utilise Nginx (1.14) et postgresql-9.6

Configuration

Côté Postgres

Ajoutons un utilisateur côté base :

nano /etc/postgresql/9.6/main/pg_hba.conf

Et ajouter cette ligne :

local   tt-rss        tt-rss                                password

On lui dit de prendre en compte ces changements :

systemctl reload postgresql

Créons cet utilisateur avec ses droits pour accéder à la base :

sudo -u postgres createuser -P tt-rss
sudo -u postgres createdb -O tt-rss tt-rss

Côté Nginx

J'ai utilisé ce type de vhost :

server {
        listen 0.0.0.0:80;
        listen 0.0.0.0:443 ssl http2;
        server_name  rss.bruno-tatu.com;
 
        include snippets/ssl-bruno-tatu.com.conf;
        include snippets/ssl-params.conf;
 
        root /var/www/tt-rss/;
        index index.php index.html;
 
        location / {
                try_files $uri $uri/ /index.html;
        }
 
        access_log /var/log/nginx/rss.bruno-tatu.com.nginx.access;
        error_log /var/log/nginx/rss.bruno-tatu.com.nginx.error error;
 
        location ~ .php$ {
                try_files $uri =404;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

Installation de l'application

Faisons une installation avec GIT, ainsi une sous-tâche sera exécuté en arrière plan lors de l'ouverture de l'application. Elle aura pour but de vérifier et d'indiquer s'il y a des mises à jours de disponible ou non.

git clone https://tt-rss.org/git/tt-rss.git tt-rss

Si votre serveur web est bien configuré, il restera plus qu'a se rendre à la page suivante : https://mon-site.com/install

Suivez de manière classique les instructions et c'est terminé!

Mode de mise à jours

Sans difficulté, je suggère de mette un tâche cron qui se chargera d'aller chercher tranquillement les articles. Pour ma part, c'est l'utilisateur www-data qui s'en chargera :

crontab -e -u www-data

Avec ceci :

MAILTO=user@domaine-mail.com
5 4 * * * /usr/bin/sudo -u www-data /usr/bin/php /var/www/tt-rss/update.php --feeds --quiet