Installation Flarum · 19 min read · Oct 20, 2025

Comment installer le logiciel communautaire Flarum sur Debian 12

Flarum est un logiciel communautaire open-source conçu pour créer et gérer facilement des forums en ligne. Doté d’une interface moderne et élégante, Flarum offre une expérience utilisateur simplifiée, optimisée pour la performance et la simplicité. Il est hautement personnalisable grâce à un système d’extensions robuste, permettant aux administrateurs d’adapter leurs forums à des besoins et préférences spécifiques. Flarum prend en charge le design réactif, garantissant la compatibilité sur divers appareils et des fonctionnalités telles que des notifications en temps réel, l’intégration de médias riches et des outils de modération sans faille. Sa fondation en PHP et MySQL le rend accessible à un large éventail d’environnements d’hébergement web, séduisant les petites communautés et les grandes organisations à la recherche d’une plateforme efficace pour des discussions en ligne.

Dans ce tutoriel, nous allons apprendre à installer le logiciel communautaire Flarum sur un serveur basé sur Debian 12.

Prérequis

  • Un serveur exécutant Debian 12.
  • Un utilisateur non-root avec des privilèges sudo.
  • Un nom de domaine complètement qualifié (FQDN) comme flarum.example.com pointant vers votre serveur.
  • Assurez-vous que votre serveur dispose d’un espace de stockage swap activé si vous êtes sur un serveur avec 1 Go de RAM.
  • Assurez-vous que tout est à jour. $ sudo apt update && sudo apt upgrade
  • Flarum nécessite quelques paquets essentiels pour fonctionner. Certains d’entre eux seront déjà sur votre serveur. $ sudo apt install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y

Étape 1 - Configurer le pare-feu

La première étape consiste à configurer le pare-feu. Debian est livré avec ufw (Uncomplicated Firewall) par défaut.

Vérifiez si le pare-feu est en cours d’exécution.

$ sudo ufw status

Vous obtiendrez la sortie suivante.

Status: inactive

Autorisez le port SSH afin que le pare-feu ne rompe pas la connexion actuelle lors de son activation.

$ sudo ufw allow OpenSSH

Autorisez également les ports HTTP et HTTPS.

$ sudo ufw allow http
$ sudo ufw allow https

Activez le pare-feu

$ sudo ufw enable
La commande peut perturber les connexions ssh existantes. Voulez-vous continuer l'opération (y|n)? y
Le pare-feu est actif et activé au démarrage du système

Vérifiez à nouveau l’état du pare-feu.

$ sudo ufw status

Vous devriez voir une sortie similaire.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443                        ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)

Étape 2 - Installer Nginx

Debian 12 est livré avec une version plus ancienne de Nginx. Pour installer la dernière version, vous devez télécharger le dépôt officiel de Nginx.

Importez la clé de signature de Nginx.

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Ajoutez le dépôt pour la version stable de Nginx.

$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

Mettez à jour les dépôts du système.

$ sudo apt update

Installez Nginx.

$ sudo apt install nginx

Vérifiez l’installation. Sur les systèmes Debian, la commande suivante ne fonctionnera qu’avec sudo.

$ sudo nginx -v
nginx version: nginx/1.24.0

Démarrez le serveur Nginx.

$ sudo systemctl start nginx

Vérifiez l’état du service.

$ sudo systemctl status nginx
? nginx.service - nginx - serveur web haute performance
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
     Active: active (running) since Thu 2023-11-09 12:08:18 UTC; 1s ago
       Docs: https://nginx.org/en/docs/
    Process: 1957 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
   Main PID: 1958 (nginx)
      Tasks: 2 (limit: 1107)
     Memory: 1.7M
        CPU: 6ms
     CGroup: /system.slice/nginx.service
             ??1958 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??1959 "nginx: worker process"

Ouvrez l’adresse IP de votre serveur dans votre navigateur web. Vous devriez voir la page suivante, ce qui signifie que votre serveur est opérationnel.

Page par défaut de Nginx

Étape 3 - Installer PHP

Debian 12 est livré avec PHP 8.2 par défaut. Vous pouvez l’installer en exécutant la commande suivante.

$ sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y

Pour rester toujours sur la dernière version de PHP ou si vous souhaitez installer plusieurs versions de PHP, ajoutez le dépôt PHP d’Ondrej.

Tout d’abord, importez la clé GPG du dépôt PHP de Sury.

$ sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg

Ajoutez le dépôt PHP d’Ondrej Sury.

$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

Mettez à jour la liste des dépôts du système.

$ sudo apt update

Ensuite, installez PHP et ses extensions requises par Flarum.

$ sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y

Vérifiez si PHP fonctionne correctement.

$ php --version

Vous devriez voir une sortie similaire.

PHP 8.2.12 (cli) (built: Oct 27 2023 13:00:10) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies

Étape 4 - Installer Composer

Composer est un gestionnaire de dépendances pour PHP. Flarum a besoin de Composer pour installer et exécuter divers composants.

Exécutez les commandes suivantes pour installer Composer. Tout d’abord, nous récupérons l’installateur, vérifions le hachage pour le vérifier, puis exécutons l’installateur en utilisant la ligne de commande PHP. Ensuite, nous déplaçons le binaire dans le répertoire /usr/local/bin.

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installateur vérifié'; } else { echo 'Installateur corrompu'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
$ sudo mv composer.phar /usr/local/bin/composer

Vérifiez si Composer est installé correctement.

$ composer --version
Version de Composer 2.6.5 2023-10-06 10:11:52

Étape 5 - Installer MariaDB

MariaDB est un remplacement direct de MySQL, ce qui signifie que les commandes pour exécuter et faire fonctionner MariaDB sont les mêmes que celles de MySQL.

Debian 12 est livré avec MariaDB 10.11.4 par défaut, qui est un peu obsolète. Vous devez utiliser le dépôt officiel pour obtenir la dernière version stable de MariaDB.

Importez la clé GPG de MariaDB.

$ sudo curl -o /usr/share/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'

Créez le fichier de dépôt de MariaDB.

$ echo "deb [signed-by=/usr/share/keyrings/mariadb-keyring.pgp] https://deb.mariadb.org/10.11/debian `lsb_release -cs` main" | sudo tee /etc/apt/sources.list.d/mariadb-server.list

Mettez à jour la liste des dépôts du système.

$ sudo apt update

Exécutez la commande suivante pour installer le serveur MariaDB.

$ sudo apt install mariadb-server -y

Vérifiez si MariaDB est installé correctement.

$ mysql --version

Vous devriez voir la sortie suivante.

mysql  Ver 15.1 Distrib 10.11.6-MariaDB, pour debian-linux-gnu (x86_64) utilisant le wrapper EditLine

Vous pouvez également utiliser mariadb --version pour vérifier la version.

Le service MariaDB est déjà activé et en cours d’exécution. Vérifiez son état en utilisant la commande suivante.

$ sudo systemctl status mariadb
? mariadb.service - Serveur de base de données MariaDB 10.11.6
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled)
    Drop-In: /etc/systemd/system/mariadb.service.d
             ??migrated-from-my.cnf-settings.conf
     Active: active (running) since Tue 2023-11-14 08:42:03 UTC; 4min 1s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 74903 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 74904 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 74906 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR>
    Process: 74946 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 74948 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 74935 (mariadbd)
     Status: "Prêt à recevoir vos requêtes SQL..."
      Tasks: 9 (limit: 1107)
     Memory: 214.9M
        CPU: 627ms
     CGroup: /system.slice/mariadb.service
             ??74935 /usr/sbin/mariadbd

Exécutez la commande suivante pour effectuer la configuration par défaut, comme donner un mot de passe root, supprimer les utilisateurs anonymes, interdire la connexion root à distance et supprimer les tables de test.

$ sudo mariadb-secure-installation

On vous demandera votre mot de passe root. Comme nous n’avons pas encore de mot de passe root défini, appuyez sur la touche Entrée pour continuer.

NOTE: L'EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS LES SERVEURS MariaDB EN UTILISATION PRODUCTION !  VEUILLEZ LIRE CHAQUE ÉTAPE ATTENTIVEMENT !

Pour se connecter à MariaDB afin de le sécuriser, nous aurons besoin du mot de passe actuel pour l'utilisateur root. Si vous venez d'installer MariaDB et que vous n'avez pas encore défini le mot de passe root, vous devez simplement appuyer ici.

Entrez le mot de passe actuel pour root (appuyez pour aucun) : [APPUYER SUR ENTRÉE]
OK, mot de passe utilisé avec succès, passage à la suite...

Ensuite, on vous demandera si vous souhaitez passer au plugin unix_socket. Le plugin unix_socket vous permet de vous connecter à MariaDB avec vos identifiants d’utilisateur Linux. Choisissez n pour ignorer le passage à celui-ci, car vous avez déjà un compte root protégé.

Définir le mot de passe root ou utiliser le unix_socket garantit que personne ne peut se connecter à l'utilisateur root de MariaDB sans l'autorisation appropriée.

Vous avez déjà protégé votre compte root, donc vous pouvez répondre en toute sécurité 'n'.

Passer à l'authentification unix_socket [Y/n] n
 ... saut.

Ensuite, on vous demandera si vous souhaitez changer votre mot de passe root. Sur Debian 12, le compte root pour MariaDB est étroitement lié à la maintenance automatique du système, donc vous ne devez pas changer les méthodes d’authentification configurées pour le compte. Cela permettrait à une mise à jour de package de casser le système de base de données en supprimant l’accès au compte administratif. Tapez n pour continuer.

Vous avez déjà protégé votre compte root, donc vous pouvez répondre en toute sécurité 'n'.

Changer le mot de passe root ? [Y/n] n
 ... saut.

À partir de là, appuyez sur y puis sur Entrée pour accepter les valeurs par défaut pour toutes les questions suivantes. Cela supprimera l’accès aux utilisateurs anonymes, aux bases de données de test, désactivera la connexion root à distance et chargera les modifications.

Par défaut, une installation de MariaDB a un utilisateur anonyme, permettant à quiconque de se connecter à MariaDB sans avoir à créer un compte utilisateur pour eux.  Cela est uniquement destiné aux tests, et pour rendre l'installation un peu plus fluide.  Vous devriez les supprimer avant de passer à un environnement de production.

Supprimer les utilisateurs anonymes ? [Y/n] y
 ... Succès !

Normalement, root ne devrait être autorisé à se connecter que depuis 'localhost'.  Cela garantit que quelqu'un ne peut pas deviner le mot de passe root depuis le réseau.

Interdire la connexion root à distance ? [Y/n] y
 ... Succès !

Par défaut, MariaDB est livré avec une base de données nommée 'test' à laquelle tout le monde peut accéder.  Cela est également destiné uniquement aux tests, et devrait être supprimé avant de passer à un environnement de production.

Supprimer la base de données de test et l'accès à celle-ci ? [Y/n] y
 - Suppression de la base de données de test...
 ... Succès !
 - Suppression des privilèges sur la base de données de test...
 ... Succès !

Recharger les tables de privilèges garantira que toutes les modifications effectuées jusqu'à présent prendront effet immédiatement.

Recharger les tables de privilèges maintenant ? [Y/n] y
 ... Succès !

Nettoyage...

Tout est fait !  Si vous avez terminé toutes les étapes ci-dessus, votre installation de MariaDB devrait maintenant être sécurisée.

Merci d'utiliser MariaDB !

C’est tout. La prochaine fois que vous souhaitez vous connecter à l’interface de commande de MariaDB, utilisez la commande suivante.

$ sudo mysql

Entrez votre mot de passe root Linux lorsqu’on vous le demande.

Bienvenue dans le moniteur MariaDB.  Les commandes se terminent par ; ou \g.
Votre identifiant de connexion MariaDB est 39
Version du serveur : 10.11.6-MariaDB-1:10.11.6+maria~deb12 distribution binaire mariadb.org

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab et d'autres.

Tapez 'help;' ou '\h' pour obtenir de l'aide. Tapez '\c' pour effacer l'instruction d'entrée actuelle.

MariaDB [(none)]>

Appuyez sur exit pour fermer l’interface de commande de MariaDB.

Étape 6 - Configurer MariaDB

Connectez-vous à l’interface de commande de MariaDB.

$ sudo mysql

Créez une nouvelle base de données MySQL, un utilisateur de base de données et un mot de passe pour votre installation de Flarum.

MariaDB> CREATE DATABASE flarum;
MariaDB> CREATE USER 'flarumuser'@'localhost' IDENTIFIED BY 'yourpassword';
MariaDB> GRANT ALL PRIVILEGES ON flarum.* TO 'flarumuser'@'localhost';

Remplacez flarum, flarumuser et yourpassword par les identifiants de votre choix. Choisissez un mot de passe fort.

Créez également un utilisateur administratif avec les mêmes capacités que le compte root.

MariaDB> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Rechargez les privilèges pour vous assurer qu’ils sont enregistrés dans la session actuelle.

MariaDB> FLUSH PRIVILEGES;

Quittez l’interface de commande de MariaDB.

MariaDB> exit

Étape 7 - Installer Flarum

Créez un répertoire où Flarum sera installé.

$ sudo mkdir /var/www/flarum -p

L’utilisation de l’option -p crée des répertoires parents qui n’existaient pas auparavant.

Changez la propriété du répertoire Flarum à l’utilisateur Linux actuellement connecté afin que vous puissiez exécuter des commandes sans utiliser sudo.

$ sudo chown -R $USER:$USER /var/www/flarum

Naviguez jusqu’au dossier d’installation.

$ cd /var/www/flarum

Téléchargez et installez Flarum en utilisant Composer.

$ composer create-project flarum/flarum .

Changez la propriété du répertoire Flarum à nginx pour le serveur Nginx.

$ sudo chown -R nginx:nginx /var/www/flarum

Autorisez l’accès en écriture au répertoire.

$ sudo chmod 775 -R /var/www/flarum

À partir de là, Composer aura besoin de permissions sudo pour s’exécuter, ce qui n’est pas recommandé. Vous pouvez également changer les permissions de groupe du répertoire à votre utilisateur Linux et les changer de nouveau en nginx après avoir terminé avec Composer. Ce n’est pas une solution idéale car cela nécessite que vous exécutiez les mêmes commandes de manière répétée. Une solution plus permanente consiste à ajouter votre nom d’utilisateur au groupe nginx. Exécutez la commande suivante pour ajouter votre utilisateur Linux actuellement connecté au groupe nginx.

$ sudo usermod -a -G nginx $USER

Pour appliquer la nouvelle appartenance au groupe, déconnectez-vous du serveur et reconnectez-vous, ou tapez ce qui suit.

su - ${USER}

Étape 8 - Installer SSL

Nous devons installer Certbot pour générer le certificat SSL. Vous pouvez soit installer Certbot en utilisant le dépôt de Debian, soit obtenir la dernière version en utilisant l’outil Snapd. Nous allons utiliser la version Snapd.

Debian 12 ne vient pas avec Snapd installé. Installez le package Snapd.

$ sudo apt install snapd

Exécutez les commandes suivantes pour vous assurer que votre version de Snapd est à jour.

$ sudo snap install core && sudo snap refresh core

Installez Certbot.

$ sudo snap install --classic certbot

Utilisez la commande suivante pour vous assurer que la commande Certbot peut être exécutée en créant un lien symbolique vers le répertoire /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Vérifiez si Certbot fonctionne correctement.

$ certbot --version
certbot 2.7.4

Générez le certificat SSL.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d flarum.example.com

La commande ci-dessus téléchargera un certificat dans le répertoire /etc/letsencrypt/live/flarum.example.com sur votre serveur.

Générez un certificat de groupe Diffie-Hellman.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Vérifiez le service de planification de renouvellement de Certbot.

$ sudo systemctl list-timers

Vous trouverez snap.certbot.renew.service comme l’un des services programmés pour s’exécuter.

NEXT                        LEFT           LAST                        PASSED      UNIT                      ACTIVATES     
---------------------------------------------------------------------------------------------------------------------------               
Tue 2023-11-14 15:39:00 UTC 24min left    Tue 2023-11-14 15:09:02 UTC 5min ago     phpsessionclean.timer       phpsessionclean.service
Tue 2023-11-14 17:33:00 UTC 2h 18min left -                           -            snap.certbot.renew.timer    snap.certbot.renew.service
Tue 2023-11-14 19:03:30 UTC 3h 49min left Tue 2023-11-14 15:12:10 UTC 1min 58s ago apt-daily.timer             apt-daily.service

Faites un essai à blanc du processus pour vérifier si le renouvellement SSL fonctionne correctement.

$ sudo certbot renew --dry-run

Si vous ne voyez pas d’erreurs, vous êtes prêt. Votre certificat se renouvellera automatiquement.

Étape 9 - Configurer PHP-FPM

Ouvrez le fichier /etc/php/8.2/fpm/pool.d/www.conf.

$ sudo nano /etc/php/8.2/fpm/pool.d/www.conf

Nous devons définir l’utilisateur/groupe Unix des processus PHP sur nginx. Trouvez les lignes user=www-data et group=www-data dans le fichier et changez-les en nginx.

; Utilisateur/groupe Unix des processus enfants. Cela ne peut être utilisé que si l'utilisateur du processus maître est root. Il est défini après la création du processus enfant.
; L'utilisateur et le groupe peuvent être spécifiés soit par leur nom, soit par leurs identifiants numériques.
; Remarque : Si l'utilisateur est root, l'exécutable doit être démarré avec l'option --allow-to-run-as-root pour fonctionner.
; Valeurs par défaut : L'utilisateur est défini par défaut sur l'utilisateur du processus maître en cours d'exécution.
;                 Si le groupe n'est pas défini, le groupe de l'utilisateur est utilisé.
user = nginx
group = nginx
...

Trouvez les lignes listen.owner = www-data et listen.group = www-data dans le fichier et changez-les en nginx.

; Définir les permissions pour le socket unix, si un est utilisé. Dans Linux, les permissions de lecture/écriture doivent être définies pour permettre les connexions depuis un serveur web. De nombreux systèmes dérivés de BSD permettent des connexions indépendamment des permissions. Le propriétaire et le groupe peuvent être spécifiés soit par leur nom, soit par leurs identifiants numériques.
; Valeurs par défaut : Le propriétaire est défini sur l'utilisateur du processus maître en cours d'exécution. Si le groupe n'est pas défini, le groupe de l'utilisateur est utilisé. Le mode est défini sur 0660.
listen.owner = nginx
listen.group = nginx

Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsqu’on vous le demande.

Augmentez la taille maximale de téléchargement de fichiers à 8 Mo.

$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 8M/' /etc/php/8.2/fpm/php.ini

Redémarrez le service PHP-FPM.

$ sudo systemctl restart php8.2-fpm

Changez le groupe du répertoire des sessions PHP en Nginx.

$ sudo chgrp -R nginx /var/lib/php/sessions

Étape 10 - Configurer Nginx

Exécutez la commande suivante pour ajouter un fichier de configuration pour votre site.

$ sudo nano /etc/nginx/conf.d/flarum.conf

Collez le code suivant dans l’éditeur.

server {
    listen [::]:80;
    listen 80;

    server_name flarum.example.com;

    # rediriger http vers https
    return 301 https://flarum.example.com$request_uri;
}

server {
    listen [::]:443 ssl http2;
    listen 443 ssl http2;

    server_name flarum.example.com;

    access_log /var/log/nginx/flarum.access.log;
    error_log  /var/log/nginx/flarum.error.log;

    root /var/www/flarum/public;
    index index.php;

    include /var/www/flarum/.nginx.conf;

    client_max_body_size 8M;

    if ($host != "flarum.example.com") {
        return 301 $scheme://flarum.example.com$request_uri;
    }

    # Code SSL
    ssl_certificate /etc/letsencrypt/live/flarum.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/flarum.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/flarum.example.com/chain.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;
    ssl_prefer_server_ciphers off;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844] valid=60s;
    resolver_timeout 2s;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

    tcp_nopush on;
    types_hash_max_size 2048;

    location ~ \.php$ {
        fastcgi_pass  unix:/run/php/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        include  fastcgi_params;
    }
}

Ce fichier suppose que nous allons héberger example.com dans le répertoire /var/www/flarum/public. Flarum est livré avec quelques paramètres Nginx par défaut dans le fichier /var/www/flarum/.nginx.conf que nous avons inclus dans notre configuration Nginx.

Une fois terminé, appuyez sur Ctrl + X pour fermer l’éditeur et appuyez sur Y lorsqu’on vous le demande pour enregistrer le fichier.

Ouvrez le fichier /etc/nginx/nginx.conf pour l’éditer.

$ sudo nano /etc/nginx/nginx.conf   

Ajoutez la ligne suivante avant la ligne include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size 64;

Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsqu’on vous le demande. Testez la configuration de Nginx.

$ sudo nginx -t

Vous devriez voir la sortie suivante indiquant que votre configuration est correcte.

nginx: le fichier de configuration /etc/nginx/nginx.conf a une syntaxe correcte
nginx: le test du fichier de configuration /etc/nginx/nginx.conf est réussi

Rechargez le service Nginx.

$ sudo systemctl reload nginx

Étape 11 - Accéder et compléter l’installation de Flarum

Ouvrez http://example.com dans votre navigateur pour compléter l’installation.

Installation de Flarum

Remplissez les valeurs de base de données requises que nous avons créées ci-dessus. Vous pouvez laisser le champ Préfixe de table vide pour permettre à Flarum d’utiliser le préfixe par défaut ou vous pouvez entrer n’importe quel préfixe personnalisé comme fla_. Choisissez un nom d’utilisateur, un mot de passe fort et un identifiant email pour installer Flarum.

Cliquez sur le bouton Installer Flarum pour terminer l’installation.

Une fois installé, vous devriez être accueilli par la page d’accueil par défaut de Flarum.

Page d'accueil de Flarum

Votre forum est maintenant installé et prêt à être utilisé.

Activer 2FA

L’authentification à deux facteurs est une fonctionnalité essentielle pour tout forum public. Flarum ne propose pas cette fonctionnalité nativement, mais vous pouvez l’activer en installant une extension à cet effet. L’extension est disponible via Extiverse. Extiverse est un dépôt non officiel de thèmes et de plugins pour Flarum.

Pour installer le plugin, commencez par passer au répertoire Flarum.

$ cd /var/www/flarum

Installez le plugin en utilisant Composer.

$ composer require ianm/twofactor:"*"

L’étape suivante consiste à activer le plugin depuis le panneau d’administration de Flarum. Cliquez sur votre nom en haut à droite de la page d’accueil et cliquez sur le lien Administration dans le menu déroulant.

Menu Admin de Flarum

Vous serez dirigé vers le tableau de bord d’administration. Sélectionnez la fonctionnalité 2FA dans le menu de gauche et activez-la. Vous n’avez pas besoin de changer quoi que ce soit, car les paramètres par défaut devraient fonctionner correctement.

Page Admin 2FA de Flarum

Si vous souhaitez que les modérateurs du forum aient 2FA activé, cliquez sur le bouton Mods et activez le paramètre 2FA requis. Cliquez sur le bouton Enregistrer les modifications pour terminer.

Paramètres 2FA pour le groupe Mods de Flarum

Pour activer 2FA pour votre compte, ouvrez votre page de paramètres depuis le menu en haut à droite de la page d’accueil du forum. Ouvrez la page Sécurité en sélectionnant dans la barre latérale gauche.

Page utilisateur 2FA de Flarum

Cliquez sur le bouton Activer 2FA et la fenêtre contextuelle suivante s’ouvrira.

Popup des paramètres 2FA de Flarum

Scannez le code QR ou choisissez l’option manuelle en utilisant votre application 2FA et entrez le code généré dans la boîte. Cliquez sur le bouton Vérifier une fois terminé. Vous verrez des codes de sauvegarde. Enregistrez-les et cliquez sur le bouton pour continuer.

Codes de sauvegarde 2FA de Flarum

On vous demandera une fois de plus confirmation. Cliquez sur le bouton Ok pour continuer. Le processus est maintenant terminé.

Page configurée 2FA de Flarum

Configurer les paramètres de messagerie

Vous devrez également configurer les paramètres de messagerie depuis le panneau d’administration. Flarum prend en charge le service SMTP Mailgun nativement ou vous pouvez utiliser un fournisseur SMTP externe.

Paramètres de messagerie de Flarum

Nous utilisons le service Amazon SES pour lequel nous avons sélectionné smtp dans le menu déroulant du pilote de messagerie sur la page de messagerie. Cliquez sur le bouton Enregistrer les modifications puis cliquez sur le bouton Envoyer pour envoyer un email de test. La page vous informera si le mail a été envoyé avec succès. Vous devriez recevoir le mail suivant.

Mail de test de Flarum

Si vous souhaitez utiliser Mailgun, choisissez mailgun dans le menu déroulant. Remplissez les champs requis et enregistrez les paramètres.

Paramètres MailGun de Flarum

Avant d’envoyer un mail de test, vous devez installer un package composer pour le faire fonctionner. Passez au répertoire Flarum sur le serveur.

$ cd /var/www/flarum

Installez le package composer.

$ composer require guzzlehttp/guzzle:^7.0

Envoyez un mail de test pour vérifier.

Conclusion

Cela conclut notre tutoriel sur l’installation du logiciel de forum communautaire Flarum sur un serveur Debian 12. Si vous avez des questions ou des commentaires, n’hésitez pas à les laisser dans les commentaires ci-dessous.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.