8.2 KiB
Executable file
FreshRSS
FreshRSS est un agrégateur de flux RSS à auto-héberger à l’image de Leed ou de Kriss Feed.
Il se veut léger et facile à prendre en main tout en étant un outil puissant et paramétrable.
Il permet de gérer plusieurs utilisateurs, et dispose d’un mode de lecture anonyme. Il supporte PubSubHubbub pour des notifications instantanées depuis les sites compatibles.
- Site officiel : http://freshrss.org
- Démo : http://demo.freshrss.org/
- Licence : GNU AGPL 3
Téléchargement
Voir la liste des versions.
Note sur les branches
Ce logiciel est en développement permanent ! Veuillez vous assurer d'utiliser la branche qui vous correspond :
- Utilisez la branche master si vous visez la stabilité.
- La branche beta est celle par défaut : les nouveautés y sont ajoutées environ tous les mois.
- Pour les développeurs et ceux qui veulent aider à tester les toutes dernières fonctionnalités, la branche dev vous ouvre les bras !
Avertissements
Cette application a été développée pour s’adapter principalement à des besoins personnels, et aucune garantie n'est fournie. Les demandes de fonctionnalités, rapports de bugs, et autres contributions sont les bienvenues. Privilégiez pour cela des demandes sur GitHub. Nous sommes une communauté amicale.
Prérequis
- Serveur modeste, par exemple sous Linux ou Windows
- Fonctionne même sur un Raspberry Pi 1 avec des temps de réponse < 1s (testé sur 150 flux, 22k articles)
- Serveur Web Apache2 (recommandé), ou nginx, lighttpd (non testé sur les autres)
- PHP 5.3+ (PHP 5.3.7+ recommandé, et PHP 5.5+ pour les performances, et PHP 7+ pour d’encore meilleures performances)
- MySQL 5.0.3+ (recommandé) ou SQLite 3.7.4+
- Un navigateur Web récent tel Firefox, Chrome, Opera, Safari. Internet Explorer ne fonctionne plus, mais ce sera corrigé.
- Fonctionne aussi sur mobile
- L’entête HTTP
Referer
ne doit pas être désactivé pour pouvoir utiliser le formulaire de connexion
Installation
- Récupérez l’application FreshRSS via la commande git ou en téléchargeant l’archive
- Placez l’application sur votre serveur (la partie à exposer au Web est le répertoire
./p/
) - Le serveur Web doit avoir les droits d’écriture dans le répertoire
./data/
- Accédez à FreshRSS à travers votre navigateur Web et suivez les instructions d’installation
- Tout devrait fonctionner :) En cas de problème, n’hésitez pas à me contacter.
- Des paramètres de configuration avancée peuvent être accédés depuis config.php.
Installation automatisée
Exemple d’installation complète sur Linux Debian/Ubuntu
# Si vous utilisez le serveur Web Apache (sinon il faut un autre serveur Web)
sudo apt-get install apache2
sudo a2enmod headers expires rewrite ssl
# (optionnel) Si vous voulez un serveur de base de données MySQL
sudo apt-get install mysql-server mysql-client php5-mysql
# Composants principaux (git est optionnel si vous déployez manuellement les fichiers d’installation)
sudo apt-get install git php5 php5-curl php5-gmp php5-intl php5-json php5-sqlite
# Redémarrage du serveur Web
sudo service apache2 restart
# Pour FreshRSS lui-même
cd /usr/share/
sudo git clone https://github.com/FreshRSS/FreshRSS.git
# Mettre les droits d’accès pour le serveur Web
cd FreshRSS
sudo chown -R :www-data .
sudo chmod -R g+w ./data/
# Publier FreshRSS dans votre répertoire HTML public
sudo ln -s /usr/share/FreshRSS/p /var/www/html/FreshRSS
# Naviguez vers http://example.net/FreshRSS pour terminer l’installation.
# (Si vous le faite depuis localhost, vous pourrez avoir à ajuster le réglage de votre adresse publique)
# Mettre à jour FreshRSS vers une nouvelle version
cd /usr/share/FreshRSS
sudo git reset --hard
sudo git pull
sudo chown -R :www-data .
sudo chmod -R g+w ./data/
Contrôle d’accès
Il est requis pour le mode multi-utilisateur, et recommandé dans tous les cas, de limiter l’accès à votre FreshRSS. Au choix :
- En utilisant l’identification par formulaire (requiert JavaScript, et PHP 5.3.7+ recommandé – fonctionne avec certaines versions de PHP 5.3.3+)
- En utilisant l’identification par Mozilla Persona incluse dans FreshRSS
- En utilisant un contrôle d’accès HTTP défini par votre serveur Web
- Voir par exemple la documentation d’Apache sur l’authentification
- Créer dans ce cas un fichier
./p/i/.htaccess
avec un fichier.htpasswd
correspondant.
- Créer dans ce cas un fichier
- Voir par exemple la documentation d’Apache sur l’authentification
Rafraîchissement automatique des flux
- Vous pouvez ajouter une tâche Cron lançant régulièrement le script d’actualisation automatique des flux. Consultez la documentation de Cron de votre système d’exploitation (Debian/Ubuntu, Red Hat/Fedora, Slackware, Gentoo, Arch Linux…). C’est une bonne idée d’utiliser le même utilisateur que votre serveur Web (souvent “www-data”). Par exemple, pour exécuter le script toutes les heures :
7 * * * * php /votre-chemin/FreshRSS/app/actualize_script.php > /tmp/FreshRSS.log 2>&1
Conseils
- Pour une meilleure sécurité, faites en sorte que seul le répertoire
./p/
soit accessible depuis le Web, par exemple en faisant pointer un sous-domaine sur le répertoire./p/
.- En particulier, les données personnelles se trouvent dans le répertoire
./data/
.
- En particulier, les données personnelles se trouvent dans le répertoire
- Le fichier
./constants.php
définit les chemins d’accès aux répertoires clés de l’application. Si vous les bougez, tout se passe ici. - En cas de problème, les logs peuvent être utile à lire, soit depuis l’interface de FreshRSS, soit manuellement depuis
./data/log/*.log
.
Sauvegarde
- Il faut conserver vos fichiers
./data/config.php
ainsi que./data/*_user.php
et éventuellement./data/persona/
- Vous pouvez exporter votre liste de flux depuis FreshRSS au format OPML
- Pour sauvegarder les articles eux-mêmes, vous pouvez utiliser phpMyAdmin ou les outils de MySQL :
mysqldump -u utilisateur -p --databases freshrss > freshrss.sql