Installation · 13 min read · Oct 13, 2025

Comment installer le réseau social Mastodon sur Debian 11

Mastodon est un réseau social gratuit, décentralisé et open-source similaire à Twitter. Dans Mastodon, les utilisateurs peuvent se suivre mutuellement et publier des messages, des images et des vidéos. Mais contrairement à Twitter, il n’y a pas de magasin ou d’autorité centrale pour le contenu.

Avec l’architecture décentralisée, Mastodon fonctionne sur des milliers de serveurs différents, chacun géré par divers membres de la communauté. Vous pouvez créer votre serveur Mastodon sous votre domaine. Vous pouvez également suivre d’autres utilisateurs avec différents domaines sur d’autres serveurs.

Dans ce tutoriel, vous allez installer Mastodon, une plateforme de microblogging décentralisée sur un serveur Debian 11. Avec ce guide, vous allez configurer Mastodon avec PostgreSQL comme serveur de base de données et Nginx comme proxy inverse. De plus, vous sécuriserez l’installation de Mastodon via des certificats SSL gratuits de Letsencrypt.

Prérequis

Ce guide suppose que vous avez les exigences suivantes en place :

  • Un serveur Debian 11 - cet exemple utilise le dernier serveur Debian 11 avec le nom d’hôte ‘mastodon-server‘ et l’adresse IP ‘192.168.5.40‘.
  • Un utilisateur non-root avec des privilèges d’administrateur sudo/root.
  • Un nom de domaine pointé et résolu vers votre serveur Debian public - cet exemple utilise le sous-domaine ‘mastodon.howtoforge.local‘.

Lorsque vous avez ces prérequis en place, vous êtes prêt à passer à l’installation de Mastodon.

Configuration des dépôts et installation des dépendances

Mastodon est un logiciel gratuit et open-source pour exécuter des services de réseau social auto-hébergés similaires au service Twitter. Il est principalement écrit en Ruby, en particulier avec le framework web Ruby on Rails et JavaScript avec Reac.js et le framework Redux.

Dans cette première étape, vous allez configurer des dépôts supplémentaires sur votre système et installer les dépendances de package pour l’installation de Mastodon. Cela inclut des packages tels que build-essentials pour compiler Ruby, PostgreSQL pour le serveur de base de données, Nginx comme serveur web et proxy inverse, l’outil certbot pour acquérir des certificats SSL via Letsencrypt, et le serveur Redis qui sera utilisé pour le stockage clé-valeur et la gestion des sessions pour Mastodon.

Avant de commencer, exécutez la commande apt ci-dessous pour installer quelques dépendances de base qui seront utilisées pour gérer les dépôts et les packages.

sudo apt install curl wget gnupg apt-transport-https lsb-release ca-certificates

Lorsque vous y êtes invité, saisissez y pour confirmer et appuyez sur ENTRER pour continuer.

installer des packages de base

Ensuite, exécutez la commande ci-dessous pour ajouter le dépôt Node.js Nodesource. Le package Node.js ici sera utilisé pour compiler les actifs statiques de Mastodon. Et au moment de la rédaction de cet article, le dernier Mastodon nécessite au moins Node.js v16.

curl -sL https://deb.nodesource.com/setup_16.x | bash -

Vous recevrez ensuite une sortie comme suit.

ajouter le dépôt nodejs

Après l’ajout du dépôt Node.js, vous allez ensuite configurer le dépôt pour le gestionnaire de packages Yarn. Ce dépôt fournit le package Yarn qui sera utilisé pour installer les dépendances JavaScript.

Exécutez la commande ci-dessous pour ajouter la clé GPG et le dépôt du gestionnaire de packages Yarn.

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null  
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Le troisième dépôt que vous allez ajouter est le dépôt PostgreSQL. Exécutez la commande ci-dessous pour ajouter le dépôt PostgreSQL à votre serveur Debian.

wget -O /usr/share/keyrings/postgresql.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc  
echo "deb [signed-by=/usr/share/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" \  
> /etc/apt/sources.list.d/postgresql.list

ajouter le dépôt yarn postgresql

Avec les dépôts Node.js, Yarn et PostgreSQL ajoutés, exécutez la commande apt ci-dessous pour actualiser votre index de packages.

sudo apt update

Vous recevrez une sortie comme celle-ci.

mettre à jour et rafraîchir le dépôt

Enfin, exécutez la commande apt ci-dessous pour installer les dépendances de package qui seront utilisées pour installer Mastodon.

sudo apt install imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \  
  g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \  
  bison build-essential libssl-dev libyaml-dev libreadline6-dev \  
  zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \  
  nginx nodejs yarn redis-server redis-tools postgresql postgresql-contrib \  
  certbot python3-certbot-nginx libidn11-dev libicu-dev libjemalloc-dev

Saisissez y lorsque vous y êtes invité pour la confirmation et appuyez sur ENTRER pour continuer.

installer des dépendances

Avec cela, vous avez installé les dépendances de base pour Mastodon et ajouté quelques dépôts tiers à votre système Debian.

Dans les étapes suivantes, vous allez installer Ruby via rbenv - le gestionnaire de versions Ruby.

Installation de rbenv et Ruby

rbenv est un outil de gestion de versions pour le langage de programmation Ruby sur les systèmes de type Unix. Il est utile pour passer d’une version Ruby à une autre sur la même machine et pour s’assurer que chaque projet sur lequel vous travaillez fonctionne toujours sur la bonne version de Ruby.

Pour commencer, exécutez la commande ci-dessous pour créer un nouvel utilisateur ‘mastodon‘ sur votre système. Cet utilisateur sera utilisé pour exécuter des services liés à Mastodon, et le code source de Mastodon sera stocké dans le répertoire personnel de cet utilisateur.

sudo adduser --disabled-login mastodon

Au cours du processus, vous serez invité à configurer les détails de l’utilisateur. Saisissez vos informations utilisateur et saisissez y pour confirmer et appuyez sur ENTRER.

ajouter un nouvel utilisateur

Après la création de l’utilisateur ‘mastodon‘, exécutez la commande ci-dessous pour vous connecter.

su - mastodon

Ensuite, téléchargez le code source de rbenv via la commande git ci-dessous.

git clone https://github.com/rbenv/rbenv.git ~/.rbenv

Puis exécutez la commande ci-dessous pour installer rbenv sur votre système.

cd ~/.rbenv && src/configure && make -C src

Vous recevrez une sortie comme celle-ci après l’installation de rbenv.

télécharger et installer rbenv

Ensuite, exécutez la commande ci-dessous pour ajouter le répertoire ‘bin’ de rbenv au PATH système et charger rbenv chaque fois que l’utilisateur se connecte à la nouvelle session.

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc  
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

Maintenant, rechargez votre shell actuel en rechargeant le fichier de configuration bashrc. Puis saisissez la commande ‘rbenv’ dans votre shell et appuyez sur TAB.

source ~/.bashrc  
rbenv TAB

Dans la capture d’écran suivante, rbenv est installé et vous pouvez maintenant exécuter la commande rbenv pour installer Ruby.

Avant d’installer Ruby, vous devez installer le plugin rbenv appelé ‘ruby-build’. Ce plugin fournit des outils en ligne de commande qui simplifient l’installation de Ruby à partir de la source, en particulier pour les systèmes de type UNIX.

Téléchargez le plugin ‘ruby-build’ via la commande git.

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

télécharger ruby_plugin

Après l’ajout du plugin ‘ruby-build’, exécutez la commande ci-dessous pour installer Ruby v3.0.4, qui est requis pour la version actuelle de Mastodon.

RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.4

Après la fin de l’installation, vous recevrez une sortie similaire à celle-ci.

installer ruby

Maintenant, exécutez la commande ci-dessous pour définir la version par défaut de Ruby sur 3.0.4. Puis vérifiez en utilisant la commande ruby comme ci-dessous. Vous verrez que Ruby v3.0.4 est installé sur votre système Debian.

rbenv global 3.0.4  
ruby --version

vérifier ruby

Enfin, vous devez installer un bundler comme gestionnaire de packages Ruby. Exécutez la commande gem ci-dessous pour installer ‘bundler’.

gem install bundler --no-document

À ce stade, vous avez terminé l’installation des dépendances de package Mastodon sur votre système. Vous avez installé Ruby 3.0.4 via le gestionnaire de versions Ruby rbenv et installé bundler, l’outil de gestion de packages Ruby.

Dans les étapes suivantes, vous allez configurer l’utilisateur PostgreSQL qui sera utilisé pour l’installation de Mastodon.

Configuration du serveur de base de données PostgreSQL

Dans cette étape, vous allez vérifier le service PostgreSQL pour vous assurer que le service est activé et en cours d’exécution. Ensuite, vous allez créer un nouvel utilisateur/rôle PostgreSQL ‘mastodon’ via le shell PostgreSQL.

Assurez-vous d’exécuter ces commandes ci-dessous avec l’utilisateur/root ayant des privilèges.

Avant de commencer, exécutez la commande systemctl ci-dessous pour vous assurer que le service PostgreSQL est en cours d’exécution et activé.

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

Vous devriez recevoir une sortie similaire à celle-ci.

vérifier postgresql

Avec PostgreSQL en cours d’exécution, exécutez la commande ci-dessous pour vous connecter au shell PostgreSQL.

cd /etc/postgresql  
sudo -u postgres psql

Après vous être connecté au shell PostgreSQL, exécutez la requête PostgreSQL ci-dessous pour créer un nouveau rôle/utilisateur ‘mastodon‘. Assurez-vous également de changer le mot de passe par défaut avec un nouveau mot de passe fort.

CREATE USER mastodon CREATEDB;  
ALTER USER mastodon PASSWORD 'p4ssw0rd';

Ensuite, exécutez la requête ci-dessous pour vous assurer que le nouvel utilisateur/rôle PostgreSQL est créé. Puis saisissez ‘\q‘ pour quitter le shell PostgreSQL.

\du  
\q

La sortie ci-dessous vous montre que le nouvel utilisateur/rôle PostgreSQL ‘mastodon’ est créé.

configurer le rôle/utilisateur postgresql

Avec l’utilisateur/rôle PostgreSQL créé, vous êtes maintenant prêt à installer Mastodon sur votre système Debian.

Installation de Mastodon

Vous allez installer et configurer Mastodon sur votre serveur Debian dans cette étape. Vous allez également installer les dépendances Ruby et JavaScript pour Mastodon. Et enfin, vous allez configurer Mastodon pour votre déploiement, cela inclut la configuration du domaine, la configuration de la base de données et de Redis, la configuration SMTP, et également la configuration de l’utilisateur administrateur de Mastodon.

Avant de commencer, connectez-vous à l’utilisateur ‘mastodon’ via la commande ci-dessous.

su - mastodon

Maintenant, téléchargez le code source de Mastodon via la commande git et changez de branche pour la dernière version stable de Mastodon. Au moment de la rédaction de cet article, la version stable de Mastodon est v4.0.2.

git clone https://github.com/mastodon/mastodon.git live && cd live  
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)

télécharger mastodon

Ensuite, exécutez la commande ci-dessous pour configurer le déploiement de Mastodon et installer les dépendances Ruby.

bundle config deployment 'true'  
bundle config without 'development test'  
bundle install -j$(getconf _NPROCESSORS_ONLN)

L’installation des dépendances Ruby de Mastodon prendra du temps. Ci-dessous est la sortie similaire que vous recevrez sur votre terminal.

configurer le déploiement et installer les dépendances

Après avoir installé les dépendances Ruby de Mastodon, exécutez la commande yarn ci-dessous pour installer les dépendances JavaScript pour Mastodon.

yarn install --pure-lockfile

Vous recevrez ensuite une sortie similaire à celle-ci.

installer les dépendances javascript

Avec les dépendances Ruby et JavaScript installées, vous allez ensuite configurer votre installation de Mastodon.

Exécutez la commande ci-dessous pour configurer Mastodon pour l’environnement de production.

RAILS_ENV=production bundle exec rake mastodon:setup

On vous demandera certaines configurations de Mastodon.

  • Le nom de domaine Mastodon ? Cet exemple utilise le domaine ‘mastodon.howtoforge.local’.
  • Activer le mode utilisateur unique ? Saisissez y.
  • Utiliser Docker pour exécuter Mastodon ? Saisissez n pour non.
  • Saisissez l’utilisateur PostgreSQL et le mot de passe et assurez-vous que vous obtenez le message ‘La configuration de la base de données fonctionne !’.
  • Configuration de Redis ? laissez-le par défaut en appuyant sur ENTRER.
  • Activer le téléchargement de fichiers vers le cloud ? Saisissez n pour non.
  • Autoriser l’envoi d’e-mails depuis localhost ? Saisissez y pour oui pour confirmer ou n pour non. Cela dépend de votre environnement, vous pouvez également utiliser un serveur SMTP tiers.
  • Enregistrer la configuration ? Saisissez y pour oui.
  • Pour la création de la base de données. Saisissez y pour créer la base de données Mastodon.
  • Saisissez y pour compiler les actifs et les fichiers statiques pour Mastodon.
  • Configurer l’utilisateur administrateur ? Saisissez le nouvel utilisateur administrateur et l’e-mail pour votre installation Mastodon. Et vous obtiendrez alors le mot de passe généré automatiquement sur votre écran.

Configuration de Mastodon pour le nom de domaine, PostgreSQL, serveur Redis et serveur SMTP Mail.

configurer mastodon

Mastodon génère des actifs et des fichiers statiques.

générer des actifs

L’utilisateur administrateur de mastodon est créé et le mot de passe est également généré à l’écran du terminal.

À ce stade, vous avez terminé l’installation et la configuration de Mastodon sur Debian 11. Dans les étapes suivantes, vous allez configurer Mastodon en tant que service systemd.

Exécution de Mastodon en tant que service Systemd

Par défaut, Mastodon fournit un échantillon de fichiers de service systemd qui sont disponibles dans le répertoire ‘/home/mastodon/live/dist/‘.

Exécutez la commande ci-dessous pour copier les fichiers de service de Mastodon dans le répertoire ‘/etc/systemd/system‘.

sudo cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/

Maintenant, rechargez le gestionnaire systemd pour appliquer les modifications sur le systemd.

sudo systemctl daemon-reload

Après cela, démarrez et activez les services Mastodon via la commande systemctl ci-dessous.

sudo systemctl start mastodon-web mastodon-sidekiq mastodon-streaming  
sudo systemctl enable mastodon-web mastodon-sidekiq mastodon-streaming

configurer le service systemd de mastodon

Les services Mastodon devraient maintenant être en cours d’exécution et également activés. Vérifiez en utilisant la commande systemctl ci-dessous.

sudo systemctl status mastodon-web mastodon-sidekiq mastodon-streaming

Vous recevrez une sortie similaire aux captures d’écran suivantes.

Le service mastodon-web est en cours d’exécution et activé.

service mastodon-web

Le mastodon-sidekiq est également en cours d’exécution et activé.

service sidekiq de mastodon

Le service de streaming de mastodon est également en cours d’exécution et activé.

service de streaming de mastodon

Avec tous les services Mastodon en cours d’exécution et activés, vous allez ensuite configurer Nginx en tant que proxy inverse pour Mastodon et générer SSL Letsencrypt.

Configuration de Nginx en tant que proxy inverse

Dans cette étape, vous allez configurer le serveur web Nginx en tant que proxy inverse pour Mastodon. Vous allez également générer SSL Letsencrypt via la commande certbot et sécuriser Mastodon via une connexion sécurisée HTTPS.

Copiez la configuration par défaut du bloc serveur Nginx de Mastodon dans ‘/etc/nginx/sites-available/mastodon’. Ensuite, activez la nouvelle configuration du bloc serveur ‘/etc/nginx/sites-available/mastodon‘.

sudo cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon  
sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon

Ensuite, ouvrez le fichier de configuration du bloc serveur Mastodon ‘/etc/nginx/sites-available/mastodon’ en utilisant la commande de l’éditeur nano ci-dessous.

sudo nano /etc/nginx/sites-available/mastodon

Changez le nom de domaine par défaut avec votre domaine Mastodon. Dans cet exemple, le domaine pour Mastodon est ‘mastodon.howtoforge.local‘.

changer de domaine

Enregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.

Ensuite, exécutez la commande ci-dessous pour générer des certificats SSL de Letsencrypt. Assurez-vous de changer le nom de domaine avec votre domaine.

sudo certbot --nginx -d mastodon.howtoforge.local

Après la génération des certificats SSL, exécutez la commande ci-dessous pour vérifier la configuration de Nginx. Si vous obtenez le message de sortie tel que ‘test réussi - syntaxe ok‘, cela signifie que vous avez la configuration appropriée. Ensuite, redémarrez le service Nginx pour appliquer les nouvelles modifications.

sudo nginx -t  
sudo systemctl restart nginx

vérifier la configuration nginx

Enfin, exécutez la commande systemctl ci-dessous pour vérifier le service Nginx et vous assurer que le service est en cours d’exécution et activé.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

Vous recevrez une sortie similaire à celle-ci - Le service Nginx est actuellement en cours d’exécution et activé. Le service Nginx s’exécutera automatiquement au démarrage.

vérifier nginx

Avec toute la configuration terminée, votre Mastodon est maintenant accessible via le navigateur web.

Accéder à l’installation de Mastodon

Ouvrez votre navigateur web et visitez le nom de domaine de votre installation Mastodon (c’est-à-dire : https://mastodon.howtoforge.local/). Vous verrez maintenant la page d’accueil par défaut de Mastodon.

page d'accueil de mastodon

Cliquez sur le bouton ‘Se connecter‘ pour vérifier votre utilisateur.

Maintenant, saisissez votre utilisateur administrateur et le mot de passe généré pour Mastodon. Puis cliquez sur Se connecter.

page de connexion de mastodon

Vous verrez ensuite la page d’accueil de l’utilisateur de Mastodon.

tableau de bord utilisateur de mastodon

Ensuite, cliquez sur le menu Préférences pour accéder à la page des préférences utilisateur. Ensuite, cliquez sur le menu Administration sur le côté gauche. Et vous devriez obtenir la page d’administration de Mastodon ci-dessous.

Vous pouvez voir les détails de la pile logicielle que vous utilisez actuellement sur votre installation Mastodon.

administration de mastodon

Conclusion

Félicitations ! Vous avez maintenant terminé l’installation de la plateforme de microblogging Mastodon sur un serveur Debian 11. Vous avez installé Mastodon avec PostgreSQL comme serveur de base de données et Nginx comme proxy inverse. Vous avez également sécurisé le déploiement de Mastodon via des connexions HTTPS sécurisées.

Après toute l’installation, vous pouvez maintenant configurer la règle de Mastodon pour le support de la fédération. Vous pouvez également ajouter une couche de sécurité supplémentaire à votre installation Mastodon.

Share: X/Twitter LinkedIn

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

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