Restaurer sur la même machine remet les fichiers dans un système déjà configuré. Sur une machine neuve, la sauvegarde arrive dans le vide - et tout ce qui a été monté à la main en deux ans manque d'un seul coup. Cet écart, c'est le vrai travail.

Ce qu'il y a dans la sauvegarde

  • La racine web
  • La base de données
  • Les téléversements et les fichiers générés

Ce qui d'ordinaire n'y est pas

  • La version de PHP et ses extensions.
  • La configuration du site dans Nginx ou Apache.
  • Le certificat, ou la possibilité d'en émettre un avant que le DNS ne bouge.
  • Les tâches cron et les unités systemd.
  • Les variables d'environnement et les secrets, à juste titre exclus des sauvegardes et qui doivent donc venir d'ailleurs.
  • La configuration du courrier, et le DNS inverse de la nouvelle IP.

L'ordre qui marche

  1. Construire la machine d'abord — même version de PHP et mêmes extensions - php -m sur l'ancienne donne la liste.
  2. Restaurer les fichiers et la base — puis régler le propriétaire : sudo chown -R sara:www-data /var/www/site.
  3. Recréer l'utilisateur de base et ses droits — ils vivent dans le schéma mysql, pas dans votre export. Voyez utilisateurs et droits.
  4. Remettre la configuration — serveur web, cron, unités, et le fichier d'environnement depuis votre gestionnaire de mots de passe.
  5. Tester sur la nouvelle IP avant de bouger le DNS — avec une entrée dans le fichier hosts de votre propre machine.
  6. Émettre le certificat, puis bouger le DNS — voyez migrer sans interruption.
# test the new server while DNS still points at the old one
# /etc/hosts on your laptop
203.0.113.99  yourdomain.com www.yourdomain.com
Ne bougez pas le DNS tant que le site ne répond pas correctement sur la nouvelle IP via cette entrée hosts. Bouger d'abord transforme un après-midi difficile en panne publique.
Notez ce que vous avez dû faire à la main. Cette liste EST la partie manquante de votre sauvegarde, et la prochaine fois ce sera un script au lieu d'un après-midi de souvenirs.