Selfoss

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Agrégateur RSS self-hosted (PHP)
Site https://selfoss.aditu.de/
Dépendances PHP, MySQL (ou SQLite)
Voir aussi RSS

Selfoss est un agrégateur de flux RSS auto-hébergé, exécuté en PHP, qui centralise les articles d'une liste de sites suivis dans une interface web unique. C'est une alternative légère aux lecteurs RSS en ligne fermés (type Feedly).

Installation

  • Déployer l'archive applicative sur un serveur web avec PHP.
  • Créer une base de données (MySQL ou SQLite selon la configuration retenue) et renseigner ses paramètres dans le fichier de configuration de l'application.

Mise à jour des flux

Selfoss ne rafraîchit pas les flux automatiquement en arrière-plan : il faut déclencher périodiquement l'action de mise à jour via une tâche planifiée, par exemple avec une entrée crontab appelant l'URL de mise à jour :

10,40 * * * *  wget -O - -q -t 1 http://exemple.local/update

Exemple de configuration Nginx

server {
    listen 80;

    server_name exemple.local;
    root /var/www/exemple.local/htdocs;
    index index.php;

    access_log /var/log/nginx/exemple.local_access.log;
    error_log /var/log/nginx/exemple.local_error.log;

    location ~* \.(gif|jpg|png)$ {
        expires 30d;
    }

    location ~ ^/favicons/.*$ {
        try_files $uri /data/$uri;
    }

    location ~* ^/(data/logs|data/sqlite|config\.ini|\.ht) {
        deny all;
    }

    location / {
        try_files $uri /public/$uri /index.php$is_args$args;
    }

    location ~ \.php$ {
        client_body_timeout 360;
        send_timeout 360;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_intercept_errors on;
    }
}

⚠️ Le bloc location qui bloque l'accès aux répertoires data/logs, data/sqlite et au fichier config.ini est important : ces chemins contiennent des données sensibles (base SQLite, configuration) qui ne doivent jamais être servies directement par le serveur web.

Le socket fastcgi_pass doit être adapté à la version de PHP-FPM effectivement installée (l'exemple historique visait PHP 5, obsolète depuis longtemps — à remplacer par le socket ou port correspondant à une version de PHP maintenue).

Voir aussi

  • RSS — présentation du format de syndication