Restauration de Yunohost avec Borg après un désastre

Dans cet article, je vais détailler comment effectuer une restauration de Yunohost sur un autre système avec Borg après un désastre, ainsi que quelques étapes importantes à suivre pour ne pas se faire prendre les culottes baissées.

Restauration de Yunohost avec Borg
après un désastre

Quelques informations à noter

Pour toute installation de Yunohost, il est primordial de noter sur un support externe les noms des utilisateurs ayant les accès administrateur, ainsi que tous les couplages entre les noms de domaines et les applications.

La commande suivante permet d’obtenir cet information

sudo yunohost app list

Sauvegarde des clés racines de Borg

Bien qu’elles ne soient pas absolument nécessaires si votre site de sauvegarde primaire n’est pas affecté, mieux vaut en avoir une troisième copie quelque part des clés racines de cryptage des sauvegardes.

Pour extraire les clés depuis l’installation client de Borg, voici comment faire avec un compte utilisateur disposant des droits administrateurs.

sudo tar -jcvf ~/borg-keyfiles.tar.bz2 /root/.config/borg
sudo chown $USER:$GROUPS ~/borg-keyfiles.tar.bz2
sudo tar -jcvf ~/borg-root-keys.tar.bz2 /root/.ssh
sudo chown $USER:$GROUPS ~/borg-root-keys.tar.bz2

Depuis le poste de sauvegarde tiers (votre ordinateur personnel, probablement)

scp utilisateur_distant@mon_serveur_avec_client_borg:/home/utilisateur_distant/borg-keyfiles.tar.bz2 /repertoire-local/backup/

scp utilisateur_distant@mon_serveur_avec_client_borg:/home/utilisateur_distant/borg-root-keys.tar.bz2 /repertoire-local/backup/

Effectuer la restauration de Yunohost

Pour effectuer la restauration d’une application depuis un répertoire de sauvegarde Borg (copie secondaire ou tertiaire), il faut d’abord identifier le nom de l’archive à restaurer. Il y en a généralement une par application et par date de sauvegarde. Par exemple, pour une installation de WordPress, elle peut prendre la forme suivante

_auto_wordpress-2021-09-10_00:13 _auto_wordpress-2021-09-10_00:13.tar

Pour en effectuer l’extraction depuis les fichiers cryptés de Borg, il faut utiliser la commande suivante:

borg export-tar /repertoire-local/backup/::_auto_wordpress-2021-09-10_00:13 _auto_wordpress-2021-09-10_00:13.tar

Ensuite, dans une nouvelle instance de Yunohost, il faut installer le domaine identique à celui où se trouvait l’application. Pour se simplifier la tâche en attendant de régler les problèmes de DNS éventuels, on peut configurer celui-ci dans notre fichier local /etc/hosts ou utiliser un firejail.

Il faut aussi recréer l’utilisateur Yunohost avec exactement le même nom qu’il avait sur l’instance initiale.

J’ai essayé autre chose, ça ne marche pas. L’utilisateur doit être identique ! Je vous fais sauver du temps énorme avec ça !

Ensuite, on transfère notre archive vers la nouvelle instance

scp /repertoire-local/backup/archive _auto_wordpress-2021-09-10_00:13 _auto_wordpress-2021-09-10_00:13.tar utilisateur_distant@mon_nouveau_serveur:/home/yunohost.backup/archives/

Il est possible à cette étape qu’il faille supprimer des permissions telles que wordpress.admin dans l’annuaire LDAP sinon la restauration de Yunohost ne fonctionnera pas. Ceci peut être fait depuis l’application phpLDAPAdmin disponible dans Yunohost.

On peut ensuite restaurer le backup depuis l’interface de gestion des sauvegardes de Yunohost

Enfin, au besoin, on pourra changer le nom de domaine d’origine pour un nouveau nom de domaine, toujours par l’interface de Yunohost.

Articles connexes