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.compointant 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.

É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.

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.

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.

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.

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.

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.

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

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.

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

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.

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.

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

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.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.