Le lab des experts

Comment rejoindre Mastodon et le Fediverse avec GandiCloud VPS

Comment installer Mastodon

Depuis quelques semaines, Mastodon est sur toutes les lèvres. Ce réseau social du Fediverse a le vent en poupe grâce à ses similitudes avec Twitter. Si proches et pourtant si différents, nous revenons sur tout ce qu’il est bon de savoir sur le fonctionnement de Mastodon et comment rejoindre le Fediverse en utilisant GandiCloud VPS.

Fediverse, Internet décentralisé, serveurs fédérés, de quoi parle-t-on ?

Pour comprendre ce qu’est que le Fediverse et son mode de fonctionnement, il est plus simple de faire un parallélisme avec les réseaux sociaux dit « classiques », à savoir Twitter, Facebook, Instagram etc.

Approche centralisée vs approche décentralisée

Les réseaux sociaux « classiques » sont gérés par des entreprises qui utilisent une approche centralisée ; c’est-à-dire qu’elles gèrent l’intégralité du trafic et des messages. A l’inverse, les réseaux sociaux du Fediverse ont été créés pour être délibérément décentralisés. Chaque utilisateur souhaitant accéder au Fediverse doit créer un compte sur une instance d’hébergement Web, instance sur laquelle ses données sont stockées. L’utilisateur reste donc seul propriétaire de ce qu’il publie et définit lui-même le niveau de modération. Il est par ailleurs impossible qu’il soit la cible de publicités.

Serveurs fédérés

Une deuxième spécificité du Fediverse est qu’une fois qu’un utilisateur a créé un compte sur une instance Web, il peut accéder à tous les réseaux sociaux du Fediverse (dont Mastodon). En effet, chaque serveur est totalement indépendant, mais peut interagir avec les autres pour former un réseau social mondial, le Fediverse. Ainsi, un utilisateur avec un compte sur une instance A peut suivre et envoyer des messages privés (ou toutes autres actions rendues possibles par le média social) à un utilisateur sur la même instance ou à un utilisateur sur d’autres instances..

Là où la création d’un compte est nécessaire pour accéder à chaque réseau social classique, un seul compte est nécessaire pour utiliser tous les logiciels clients du Fediverse.

Carte du Fediverse
Carte des différents réseaux sociaux du Fediverse

Pour continuer le parallélisme, Mastodon et Pleroma s’apparentent à Twitter, Pixelfed à Instagram, PeerTube à Youtube ou Vimeo par exemple.

Les différences entre le Fediverse et les réseaux sociaux « classiques » peuvent donc se résumer de la sorte :

  • vous créez un seul compte pour accéder au Fediverse; un écosystème de réseaux sociaux riche en fonctionnalités (Pixelfed comme équivalent d’Instagram, PeerTube comme équivalent de YouTube ou Vimeo etc.),
  • vous contrôlez ce que vous publiez et définissez le niveau de modération que vous souhaitez,
  • vous gardez le contrôle sur vos données et n’êtes donc la cible d’aucune publicité.

L’actualité récente a mis Mastodon sous le feu des projecteurs de par ses similitudes avec Twitter. Il peut donc être une porte d’entrée pour accéder au Fediverse. Pour autant, l’installation de Mastodon et de tous les logiciels permettant de le faire fonctionner sont complexes et requièrent d’importantes ressources (et par conséquent un coût financier plus important). C’est pourquoi, nous conseillons d’utiliser un autre logiciel pour rejoindre Mastodon et le Fediverse : Pleroma.

Choisir Mastodon ou Pleroma ?

Pleroma est un logiciel léger permettant de lancer un microblogging au sein du Fediverse et de s’interconnecter avec d’autres instances exécutant d’autres logiciels comme Mastodon. Pleroma peut être adapté pour un simple utilisateur ou pour un administrateur souhaitant ouvrir son instance aux inscriptions publiques.

Il est une porte d’entrée vers le Fediverse moins gourmande que Mastodon en terme de ressources, et dont l’installation est plus simple. Vous pouvez trouver toutes les informations détaillées sur le processus d’installation sur le site du projet.

Pour installer Pleroma sur une instance GandiCloud VPS, nous vous invitons à suivre les différentes étapes présentées ci-dessous.

Si toutefois vous préférez installer Mastodon, vous pouvez trouver une documentation complète sur le site du projet. Mastodon nécessitera plus de ressources, surtout avec un grand nombre d’utilisateurs.

Installer Pleroma sur GandiCloud VPS

1. Création de la machine virtuelle

Créez une machine virtuelle en utilisant GandiCloud VPS en vous connectant à votre compte client. Vous trouverez un bouton pour créer une nouvelle ressource et choisir « Nouveau serveur ».

Pour le dimensionnement du serveur, cela dépend de votre utilisation. V-R1 vous permettra d’héberger une petite instance de Pleroma pour vous et vos amis. Si vous souhaitez ouvrir une instance accessible au public, vous devrez choisir un niveau supérieur.

Gandi propose également un point d’entrée OpenStack API pour créer et gérer votre GandiCloud VPS. Voir plus de documentation.

Une fois le Gandicloud VPS créé, connectez-vous en SSH avec le compte ‘debian’ et votre clé SSH à la machine virtuelle avec les informations disponibles dans votre compte client pour le serveur :

$ ssh debian@ip.ip.ip.ip

Tout d’abord, mettez à jour toutes les mises à jour en attente du système :

$ apt -qq update && apt dist-upgrade

2. Paquets pré-requis pour installer Pleroma

Installez la première salve d’applications pour l’installation

$ apt install –no-install-recommends curl unzip nginx libncurses5 postgresql postgresql-contrib postgresql-client libmagic-dev libimage-exiftool-perl imagemagick ffmpeg

Si vous voulez utiliser letsencrypt pour le certificat, ajoutez aussi :

$ apt install –no-install-recommends certbot

3. Configuration de la base de données

PostgreSQL doit déjà être lancé. Vous pouvez affiner la configuration en utilisant PGTune avec les ressources du serveur GandiCloud choisi.
En suivant la documentation de Pleroma, l’objectif est de 20 connexions.

4. Installation de Pleroma

Suivez les instructions effectives sur la documentation Pleroma

Vous pouvez maintenant gérer Pleroma en utilisant :

$ su – pleroma -s /bin/bash
pleroma$ ./bin/pleroma daemon

puis

pleroma$ ./bin/pleroma stop

5. Script de démarrage

Afin de démarrer Plemora lors du démarrage du système et d’arrêter le logiciel à l’arrêt de la machine, nous avons besoin d’un script système.
Selon votre préférence, vous pouvez soit copier le fichier de l’unité systemd comme ceci :

$ cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service
$ systemctl daemon-reload
$ systemctl start pleroma.service
$ systemctl enable pleroma.service

Ou l’initscript comme ceci :

$ cp /opt/pleroma/installation/init.d/pleroma /etc/init.d/pleroma

Et activez-le dans votre système.

6. Création d’un certificat en utilisant LetsEncrypt

Vous pouvez créer un certificat avec le nom public que vous voulez utiliser. Ajoutez le nom dans votre zone DNS et utiliser ensuite l’outil certbot.

$ systemctl stop nginx.service
$ certbot certonly –standalone –preferred-challenges http -d LeNomQueJeChoisis.tld
$ install -d -m 0755 -o root -g www-data /var/lib/letsencrypt

Copiez ensuite la configuration de nginx :

$ cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.conf
$ ln -s /etc/nginx/sites-available/pleroma.conf /etc/nginx/sites-enabled/pleroma.conf

Changez quelques éléments dans la configuration comme le nom que vous avez choisi au lieu de example.tld et démarrez nginx :

$ systemctl start nginx.service

Il devrait démarrer sans aucune erreur. Dans le cas contraire, vous aurez cette erreur « Job for nginx.service failed because the control process exited with error code. » et vous pouvez utiliser journalctl -xe -u nginx.service pour obtenir plus d’informations sur le problème.

À ce stade de la documentation, vous pouvez accéder à la page principale de Pleroma à l’adresse https://LeNomQueJeChoisis.tld.

7. Configuration de Pleroma

La configuration par défaut de l’application est d’autoriser l’enregistrement public de nouveaux utilisateurs sur l’instance. Si vous ne souhaitez pas utiliser cette fonctionnalité, vous pouvez la désactiver en remplaçant ‘registration_open : true’ par false dans le fichier /etc/pleroma/config.exs dans la section « config :pleroma, :instance ».

Un autre changement concerne la configuration de la base de données, vous devez désactiver les plans de requête génériques pour les requêtes PostgreSQL, voir https://docs-develop.pleroma.social/backend/configuration/postgresql/ pour plus de détails :

config :pleroma, Pleroma.Repo,
prepare : :named,
paramètres : [
plan_cache_mode : « force_custom_plan »
]

Vous trouverez également un aide-mémoire avec de nombreuses clés de configuration à modifier dans le fichier /etc/pleroma/config.exs ici.

8. Création d’un compte administrateur

Comme indiqué dans la documentation Pleroma :

$ su – pleroma -s /bin/bash
pleroma$ ./bin/pleroma_ctl user new mon_identifiant mon_email@domain.tld –admin
[ … ]
URL : https://…/api/v1/pleroma/password_reset/…

Copiez et collez l’URL complète obtenue dans votre navigateur pour finaliser votre premier compte administrateur en définissant un mot de passe.

Vous pourrez ensuite vous connecter sur votre propre instance Pleroma avec le login et le mot de passe précédent. Vous pouvez modifier de nombreux paramètres en cliquant sur la roue crantée en haut à droite et notamment le second facteur d’authentification (MFA) dans la section Sécurité.

Vous avez désormais accès au Fediverse. Avant de mettre derrière vous le processus d’installation, nous vous conseillons de réaliser tout de suite les étapes de post configuration.

9. Post configuration

1. Automatiser le renouvellement de Let’s Encrypt

Toujours en suivant la documentation du projet, vous devez appliquer la post configuration sur Let’s Encrypt.

2. Activer le proxy média

Vous pouvez activer un cache pour les médias d’autres instances pour une lecture plus facile de la timeline pour votre utilisateur.
Voir plus de contexte dans la documentation du projet.

Si vous suivez notre guide, la configuration de nginx est déjà traitée.

3. Durcissement et sécurité

Le développeur du projet contient une section avec les meilleures pratiques à mettre en place pour la sécurité de votre installation d’application web.
Plus d’informations ici.

4. Sauvegarde

Si vous utilisez votre instance Pleroma, vous devrez sauvegarder la configuration et les données des utilisateurs. Suivez le guide de la documentation du projet ici.

L’installation est désormais finalisée, vous avez accès à l’intégralité des réseaux sociaux du Fediverse via Pleroma.

Enjoy !