Josselin Dionisi - Développeur indépendant

Dans la jungle, terrible jungle, un serveur est mort ce soir

ionicons-v5-k Josselin Dionisi 11 juin 2024
165 lectures

Bonjour à tous et merci d’avoir cliqué sur cet article 🙂

Aujourd’hui je vais vous raconter un truc dramatique :

Par un bel après-midi de printemps, vous êtes en train de travailler sur votre serveur via votre terminal favori et tout à coup boum. Plus rien ne réponds. Vous essayez d’ouvrir les sites web que vous gérez et rien, ça tourne dans le vide jusqu’à un Time out du navigateur. 🤦‍♂️

C’est précisément ce qui m’est arrivé il y a quelques jours et je ne conseille cette expérience à personne.

Un développeur en panique

J’ai donc contacté rapidement le support de mon hébergeur. Ils ont été très rapides et efficaces oui mais problème : c’était pour me dire que le serveur était physiquement décédé (le disque dur ou la carte mère).

Ils me proposent alors de m’ouvrir un nouveau serveur gratuitement en remplacement ce que j’accepte.

Bon et maintenant, on fait quoi ?

Premier réflexe : Remercier son soi du passé d’avoir fait des backups

Second réflexe : Se préparer un café car la soirée va être longue

Réinstaller un serveur

Première étape une fois le nouvel accès valider, installer une distrib. Je repars sur une Ubuntu 20.04 classique, ça fait l’affaire pour tout ce que j’ai besoin. Il y a un délai d’installation et de mise en place évidemment, tant pis on n’est plus à ça près vu que tout est down de toute façon.

Quelques dizaines de minutes plus tard, le serveur est up et configuré. Je me connecte en ssh et le sentiment d’atterir dans un nouveau monde vierge de tout explorateur fait rapidement place à la tâche qui m’attends. J’installe quelques outils de base (nano, docker, nginx …) nécessaires à faire tourner ma stack et faire quelques opérations.

Ok, ça a l’air bon, maintenant il faut récupérer toutes les backup sur ce serveur et remonter le tout.

La récupération des backups

Personnellement, j’utilise duplicity depuis que je gère un serveur d’hébergement moi-même. Je trouve cet outil pratique et efficace, j’ai une routine qui tourne chaque jour pour faire mes sauvegardes et les envoyer faire un autre serveur de secours (heureusement n’est-ce pas ? 😛).
J’envoie donc tous mes dossiers vers mon nouveau serveur avec

et les dossiers réapparaissent bien dans l’emplacement prévu.

Je remets donc en place mon nginx reverse proxy pour capter mes noms de domaines, noms de domaines que je redirige vers la nouvelle IP du serveur d’ailleurs. C’est bon j’ai bien ma page d’erreur 503 en essayant d’atteindre mes domaines, tout fonctionne (oui, je sais on dirait pas comme ça 😀).

Allez, on tente un docker-compose up dans l’un des dossiers de sites web, celui de Boréales Créations c’est un site vitrine ce sera le plus simple à remettre en place.

Au top ça fonctionne directement, le site est up et accessible depuis l’extérieur. Sans déc, merci duplicity.

Je passe aux sites un peu plus complexes comme Neartrip mais ça se passe globalement bien, tout est up, aucune perte de fichiers ni de données. Juste à refaire un import des datas depuis les fichiers de backup.

Ok, en quelques minutes/heures tous les sites sont de nouveau up, le plus long étant le temps de compilation de docker ainsi que les imports de toutes les data.

La reconfiguration des routines et services

Bon le principal est fait, mes sites sont de nouveau en ligne. Ok mais il n’y avait pas que ça sur mon serveur. Il y avait notamment mes scripts de backup justement et les cron correspondant pour les exécuter chaque jour. Problème, là-dessus je n’avais pas de sauvegarde, c’est une erreur de ma part et promis cette fois ils sont bien conservés de mon côté 😀. C’est comme ça après une erreur on en tire des enseignements. Dans la vie de freelance on est habitués 😊

Parfait, cela tourne, quelques ajustements ou améliorations sont faites au passage, autant en profiter.

En dernier lieu je réinstalle Matomo afin de récupérer les statistiques de visites sur mes sites. Je crois que tout est bon, il est 01h du matin, je vais pouvoir avoir quelques heures de sommeil malgré le drame du jour.

Moralité

Merci duplicity ! Comment ça je l’ai déjà dit ? Oui bon, pour être plus explicite, la moralité c’est faites des sauvegardes. De tout, partout tout le temps. Même quand vous vous dites “Au pire ça va ça je le referais”. Non. Faites la sauvegarde. Vous sous estimez la satisfaction et le soulagement de pouvoir tout récupérer et remettre en place en un minimum de temps.

Je vous dis à bientôt pour un prochain article avec moins de suspense dedans 😀