Installer FreshRSS sur RHEL/Fedora avec Apache et MariaDB

Guide d’installation complet de FreshRSS sur une distribution RHEL/Fedora avec Apache, PHP 8.2, MariaDB, SELinux et firewalld.
11 February 2025 438 words Reading: 3 min Authors:
  • Loïs Dutour

Guide d’installation de FreshRSS sur une distribution RHEL/Fedora (testé sur RHEL 9 / Fedora). Couvre l’installation complète avec Apache, MariaDB, PHP 8.2, SELinux et firewalld.

Docker Apache MariaDB PHP

Mise à jour du système

sudo dnf update -y

Installation d’Apache et PHP

# Apache
sudo dnf install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd

# PHP et modules requis par FreshRSS
sudo dnf install php php-mysqli php-xml php-json php-mbstring php-curl -y

Installation de MariaDB

sudo dnf install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb

# Sécurisation interactive (définir mot de passe root, supprimer anonymous users...)
sudo mysql_secure_installation

Création de la base de données

sudo mysql -u root -p

CREATE DATABASE freshrss;
CREATE USER 'freshrssuser'@'localhost' IDENTIFIED BY 'motdepassefort';
GRANT ALL PRIVILEGES ON freshrss.* TO 'freshrssuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Téléchargement de FreshRSS

cd /var/www/html/
git clone https://github.com/FreshRSS/FreshRSS
sudo chown -R apache:apache freshrss

Configuration Apache

Crée le virtualhost /etc/httpd/conf.d/freshrss.conf :

<VirtualHost *:80>
    DocumentRoot "/var/www/html/freshrss"
    ServerName localhost

    <Directory "/var/www/html/freshrss">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Pare-feu

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload

SELinux

sudo semanage port -a -t http_port_t -p tcp 80
sudo semanage port -a -t http_port_t -p tcp 443
sudo systemctl restart httpd

⚠️ Si Apache ne peut toujours pas accéder aux fichiers, SELinux bloque probablement les accès réseau ou fichiers. Solution temporaire pour déboguer :

sudo setenforce 0

En production, utilise audit2allow pour générer des règles SELinux correctes plutôt que de désactiver SELinux.


Mise à jour de PHP vers 8.2

FreshRSS requiert PHP >= 8.1. RHEL 9 livre PHP 8.0 par défaut – il faut passer par le dépôt Remi :

# Ajouter le dépôt Remi
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -y

# Activer PHP 8.2
sudo dnf module reset php
sudo dnf module enable php:remi-8.2

# Installer PHP 8.2
sudo dnf install php php-cli php-pdo php-fpm php-json php-mbstring -y

Installation via l’interface web

Rends-toi sur http://adresse_ip et suis l’assistant d’installation. Renseigne les informations de la base de données créée précédemment.

  • Choix de la langue Étape 1: Choix de la langue

  • Vérification des dépendances et composants nécessaires : Étape 2: Vérification dépendances et composants

  • Configuration de la base de données Étape 3: Configuration de la base de données

  • Configuration générale Étape 4: Configuration générale

  • la dernière étape étant le lancement de l’installation


Configuration de l’API mobile

Dans FreshRSS → Paramètres → Authentification : configure l’accès par API Dans FreshRSS → Paramètres → Profil : un mot de passe API distinct de ton mot de passe principal.

L’URL de l’API Google Reader compatible :

https://freshrss.example.net/api/greader.php

Applications compatibles

PlateformeApplicationLicence
AndroidReadropsLibre
AndroidCapy ReaderLibre
AndroidFeedMePropriétaire
LinuxNewsboatLibre
LinuxFeedReaderLibre
macOS / iOSVienna RSSLibre
macOS / iOSFluent Reader LiteLibre
macOS / iOSReederCommercial
FirefoxFreshRSS-NotifyLibre