FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Votre propre réseau social :comment configurer une instance Mastodon sous Linux

Malade de Twitter? Marre de Facebook ? Les abus en ligne et le contenu NSFW vous découragent ? Vous voulez simplement échanger des idées à l'abri des regards des personnes qui s'opposent à vous ?

Mastodon est la réponse. Et grâce à sa nature open source, il est possible de configurer votre propre instance Mastodon, permettant une conversation sur n'importe quel sujet et offrant à vos utilisateurs une certaine sécurité et confidentialité contre les trolls de toutes sortes.

Votre propre réseau social :comment configurer une instance Mastodon sous Linux

Si vous n'êtes pas familier avec Mastodon, voici les bases. Les toots sont comme des tweets et peuvent contenir jusqu'à 500 caractères (par opposition à la limite de 140 caractères de Twitter). Consultez notre récent aperçu de Mastodon pour voir comment tout cela fonctionne.

Ce dont vous aurez besoin

Les éléments suivants sont requis pour créer votre propre instance de Mastodon :

  • Un serveur Web exécutant Ubuntu Server 16.04. Vous pouvez trouver des comptes de serveur bon marché pour moins de 10 $ par mois sur Vultr.com, bien que d'autres solutions soient disponibles.
  • Un nom de domaine inutilisé pointant vers le serveur. Cela signifie que les enregistrements DNS de l'hôte du domaine Web sont configurés pour renvoyer les visiteurs à l'adresse IP du serveur Ubuntu. La façon dont cela est fait diffère selon les fournisseurs, alors vérifiez votre documentation correspondante.
  • Un compte Mailgun pour gérer les inscriptions à votre instance Mastodon. Ceci est disponible gratuitement, mais les détails de votre carte de crédit sont nécessaires pour envoyer les 10 000 premiers e-mails. Rendez-vous sur la page d'inscription de Mailgun pour créer un compte et assurez-vous de suivre les instructions de vérification de domaine pour vous assurer que votre domaine de messagerie nouveau/inutilisé est répertorié comme actif.

La configuration de Mastodon nécessite trois éléments principaux :

  • Docker – logiciel de virtualisation utile
  • Mastodon -- le réseau social lui-même
  • Nginx (prononcez EngineX) -- logiciel de serveur Web polyvalent, utilisé dans ce cas comme proxy inverse

(Un proxy inverse permet à un serveur de récupérer des ressources ou des données d'un ou plusieurs autres serveurs pour le compte d'un client. Dans de nombreux cas, il s'agit d'une mesure de sécurité pour protéger le serveur.)

Vous aurez également besoin d'une connexion SSH à votre serveur. Ceci est disponible via le terminal sous Linux (ou macOS). Si vous utilisez SSH sous Windows, téléchargez et installez PuTTY.

Établir la connexion SSH et installer Docker

Vous devrez vous connecter à votre serveur via SSH et vous connecter avec les identifiants d'administrateur habituels. Une fois cela fait, créez un utilisateur appelé "mastodon", attribuez des privilèges root et passez au nouvel utilisateur :

mastodonte adduser 
usermod -aG sudo mastodonte
su - mastodonte

Ensuite, mettez à jour la base de données des packages et installez les outils de gestion :

sudo apt-get update 
sudo apt-get install apt-transport-https software-properties-common

Le dépôt Docker a besoin d'une clé GPG, que vous pouvez acquérir avec

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D 

Ensuite, ajoutez le référentiel Docker aux sources et mettez à jour une fois de plus.

sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' 
sudo apt-get mise à jour

Pour garantir que cela fonctionne correctement, Docker doit installer son propre référentiel, plutôt que la version du référentiel officiel Ubuntu 16.04. Cette politique garantira que cela se produise :

sudo apt-cache policy docker-engine 

Vous pouvez maintenant installer Docker :

sudo apt-get install -y docker-engine 

Attendez que cela se termine. L'installation inclut un démon qui exécute Docker au démarrage du serveur. Vérifiez l'état avec

menu fixe d'état sudo systemctl 

Vous verrez quelques lignes de texte -- recherchez "actif (en cours d'exécution)" pour confirmer que tout est comme il se doit.

Configurer avec Docker Compose

La création d'un nouveau groupe d'utilisateurs vous fera gagner du temps en saisissant la commande sudo chaque fois que vous exécutez une instruction Docker dans cette configuration. Faites-le avec

sudo usermod -aG docker $(whoami) 

Finalisez ceci en quittant le paramètre SSH (exit), puis reconnectez-vous.

Votre propre réseau social :comment configurer une instance Mastodon sous Linux

Docker Compose est fourni pour gérer l'exécution d'applications Docker multi-conteneurs. Sur github.com/docker/compose/releases, vous trouverez la dernière version. Notez le numéro, car vous devrez le saisir dans la commande suivante, en le remplaçant par "x.x.x":

sudo curl -o /usr/local/bin/docker-compose -L "https://github.com/docker/compose/releases/download/xxx/docker-compose -$(uname -s)-$(uname -m)" 

Rendez-le exécutable :

sudo chmod +x /usr/local/bin/docker-compose 

Vous pouvez vérifier que Docker Compose est installé avec

docker-compose -v 

Le numéro de version s'affichera alors, , et il devrait correspondre à la version que vous avez téléchargée - faites attention aux numéros que vous avez remplacés pour confirmation.

Installer Mastodon

Toute la préparation est faite. Vous êtes maintenant prêt à installer Mastodon lui-même. Basculez vers le sous-répertoire mastodon :

cd /home/mastodon 

Ensuite, clonez mastodon.git dans le répertoire, puis ouvrez l'emplacement et faites une copie du fichier .env.production.sample.

clone git https://github.com/tootsuite/mastodon.git 
cd mastodonte
cp .env.production.sample .env.production

Vous pouvez utiliser ce fichier dans un instant. Tout d'abord, créez l'image Docker.

construction docker-compose 

Cela va prendre du temps. Une fois terminé, vous pouvez utiliser cette commande pour créer trois clés secrètes :

docker-compose run --rm web rake secret 
Votre propre réseau social :comment configurer une instance Mastodon sous Linux

Exécutez ceci trois fois, en copiant et en collant chaque clé unique dans un éditeur de texte. Une fois les trois prêts, exécutez le fichier .env.production dans nano.

sudo nano .env.production 

Recherchez les champs suivants :PAPERCLIP_SECRET, SECRET_KEY_BASE et OTP_SECRET. Chacun d'entre eux doit avoir l'une des clés secrètes insérées contre eux.

Ajoutez vos paramètres Mailgun

Il est temps d'ajouter les détails de votre compte de messagerie Mailgun. Accédez à https://app.mailgun.com/app/domains et cliquez sur le domaine. Trouvez la Connexion SMTP par défaut et Mot de passe par défaut , et copiez les détails dans le fichier .env.production en tant qu'entrées pour SMTP_LOGIN et SMTP_PASSWORD.

Ensuite, recherchez SMTP_FROM_ADDRESS et assurez-vous que l'entrée correspondante a un nom commençant par "notifications", comme [email protected]. Enfin, recherchez LOCAL_DOMAIN et ajoutez le nom de domaine que vous utilisez pour ce projet.

Lorsque vous avez terminé, appuyez sur CTRL+X pour enregistrer et fermer, puis reconstruisez Docker.

construction docker-compose 

Les commandes suivantes garantiront que la migration des données et la précompilation des actifs fonctionnent comme prévu.

docker-compose run --rm web rails db:migrate 
docker-compose run --rm web rails assets:precompile

Ces commandes prendront un moment pour se terminer. Une fois que vous avez terminé, activez le conteneur :

docker-composer jusqu'à -d 

Activer Nginx

Nginx est utilisé dans cette configuration en tant que proxy inverse.

Votre propre réseau social :comment configurer une instance Mastodon sous Linux

Installez-le avec :

sudo apt-get install nginx 

Nginx a un profil par défaut, que vous devrez supprimer :

sudo rm /etc/nginx/sites-available/default 
sudo rm /etc/nginx/sites-enabled/default

Créer un nouveau profil avec

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

Ensuite, vous devrez créer un lien symbolique pour accéder au profil :

sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon 

Vous disposez alors d'un fichier de configuration à copier dans l'éditeur de texte. Visitez cette page Github et copiez le contenu, puis collez-le dans

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

Avec le fichier ouvert, recherchez chaque instance de example.com et remplacez-la par le nom de domaine que vous utilisez. Assurez-vous d'omettre le "www".

Votre propre réseau social :comment configurer une instance Mastodon sous Linux

Appuyez sur CTRL+X pour enregistrer et quitter.

Obtenez un certificat SSL et lancez Mastodon !

Vous êtes maintenant en vue de lancer votre instance Mastodon et de créer votre propre réseau social. Mais pour qu'il soit fiable, vous aurez besoin d'un certificat SSL.

Commencez par installer le certbot PPA, puis le certbot lui-même :

sudo add-apt-repository ppa:certbot/certbot 
sudo apt-get update sudo apt-get install certbot

Ensuite, arrêtez Nginx afin que les certificats SSL puissent être générés.

sudo systemctl stop nginx.service 

Suivez ceci avec la commande ci-dessous, en remplaçant example.com par votre propre nom de domaine.

sudo letencrypt certonly --standalone -d example.com 

Suivez les invites pour terminer le processus. Lorsque vous avez terminé, retournez dans le répertoire mastodon :

cd /home/mastodon/mastodon 

L'étape suivante consiste à arrêter temporairement Docker :

docker-compose vers le bas 
Votre propre réseau social :comment configurer une instance Mastodon sous Linux

Nous avons presque terminé :exécutez simplement ces commandes à tour de rôle :

construction docker-compose 
docker-compose run --rm web rails assets:precompile
docker-compose run --rm rails web db:migrate
docker-composer jusqu'à -d

Attendez que ces commandes se terminent, puis relancez Nginx :

sudo systemctl redémarrer nginx.service 

Maintenant, si tout s'est bien passé, vous devriez pouvoir ouvrir la fenêtre de votre navigateur et vous diriger vers la nouvelle instance de Mastodon pour la voir fonctionner !

Tout problème ici, malheureusement, signifiera répéter ce que vous avez fait jusqu'à présent. Si le .env.production est correct et que Mailgun fonctionne, continuez simplement les étapes suivant la dernière sauvegarde de .env.production.Notez que si votre domaine n'est pas correctement configuré avec votre registraire de domaine et avec Mailgun, alors vous ne pourrez pas exécuter Mastodon tant que ces problèmes ne seront pas résolus.

Notez que si votre domaine n'est pas correctement configuré avec votre bureau d'enregistrement de domaine et avec Mailgun, vous ne pourrez pas exécuter Mastodon tant que ces problèmes ne seront pas résolus.

Vous êtes opérationnel :automatisez les tâches et administrez Mastodon

Nous sommes terriblement proches de la fin maintenant. Encore quelques minutes et vous pourrez faire connaître votre instance Mastodon.

Certaines tâches doivent être automatisées. Allez dans le répertoire mastodon et créez un nouveau répertoire pour les tâches cron -- instructions qui s'exécutent à une heure prédéterminée.

cd /home/mastodon 
nano mastodon_cron

Dans le fichier texte, ajoutez :

cd /home/mastodon/mastodon 
docker-compose run --rm web rake mastodon:media:clear
docker-compose run --rm web rake mastodon:push:refresh
docker-compose run --rm web rake mastodon:push:clear
docker-compose run --rm web rake mastodon:feeds:clear

Quittez avec CTRL + Y , puis saisissez :

sudo chmod +x mastodon_cron &&sudo crontab -e 

Le fichier crontab - une sorte d'index de contrôle de tous les scripts programmés (cron) - s'ouvrira. Saisissez cette ligne à la fin :

0 0 * * * /home/mastodon/mastodon_cron> /home/mastodon/mastodon_log 

Appuyez sur CTRL + X pour enregistrer et quitter.

Actualiser le SSL

Bien que le certificat SSL soit configuré, il expirera après 90 jours. La solution est une tâche cron qui renouvelle automatiquement le certificat. Entrée

sudo crontab -e 

...puis faites défiler jusqu'à la fin du fichier et ajoutez-les aux lignes :

0 1 * * 1 /usr/bin/letsencrypt renouveler>> /home/mastodon/letsencrypt.log 
5 1 * * 1 /bin/systemctl recharger nginx

Encore une fois, appuyez sur CTRL + X t o enregistrer et quitter ; l'instruction renouvellera un certificat datant de plus de 60 jours, à 1h du matin un lundi. Il rechargera ensuite Nginx.

Administration Mastodon

Tout est maintenant prêt. N'importe qui peut se rendre sur votre instance Mastodon pour s'inscrire et commencer à envoyer ses toots. Cela vous inclut, mais bien sûr, vous aurez besoin d'un compte avec des autorisations élevées. Commencez par créer votre compte et cliquez sur le lien dans l'e-mail de confirmation.

Votre propre réseau social :comment configurer une instance Mastodon sous Linux

Ensuite, retournez dans le sous-répertoire mastodon :

cd /home/mastodon/mastodon 

Utilisez cette commande pour élever votre nom d'utilisateur au niveau administrateur :

docker-compose run --rm web rails mastodon:make_admin USERNAME=votrenom d'utilisateur 

Retournez à Mastodon dans la fenêtre du navigateur et accédez à votre compte Préférences . Trouver l'administration lien pour afficher les comptes d'utilisateurs et gérer le Mastodon S Paramètres de site, qui inclut des éléments tels que le titre et la description, ainsi que le but/sujet de l'instance.

Votre propre réseau social, discutant de vos sujets !

Twitter a été critiqué ces derniers mois pour sa lenteur à lutter contre la cyberintimidation et la prolifération de comptes faisant la promotion et glorifiant l'extrémisme islamique. Facebook, quant à lui, continue d'être un cauchemar pour la vie privée.

Pour faire face à cela, vous pouvez rejoindre Mastodon. Nous pensons que vous devriez, car vous verrez au moins comment les choses peuvent être faites différemment. Et si vous l'aimez, pourquoi ne pas installer votre propre instance ?

Avez-vous essayé Mastodon ? Avez-vous configuré votre propre instance ? Dites-nous comment ça s'est passé.


[]