Sauvegarde du site (backup du site). Migration d’un site Drupal vers un autre nom de domaine
Création d’une sauvegarde avec Backup and Migrate
Utilisez le module Backup and Migrate pour créer une copie de votre site Drupal.
Téléchargez le module backup and migrate. Installez-le et activez-le.
Accédez maintenant à la section administration : Administration - Gestion du contenu - Backup and Migrate. Vous arriverez sur la page du module. En cliquant directement sur "Backup now", Drupal créera une sauvegarde de la base de données que vous pourrez enregistrer sur votre ordinateur. Si vous choisissez "Manual Backups Directory", la sauvegarde sera enregistrée dans le dossier sites/default/files/backup_migrate/manual (chemin par défaut, pouvant varier selon la configuration de Drupal).
Après avoir sauvegardé ou téléchargé le dump de la base, copiez TOUS les fichiers Drupal vers le nouvel hébergement ou serveur. J’utilise le programme Filezilla configuré pour 10 transferts simultanés, ce qui accélère considérablement le téléchargement des fichiers Drupal vers l’hébergement. Pour en savoir plus sur FTP, les clients FTP et leur utilisation, consultez un des articles précédents du tutoriel drupalbook.org.
Si tout est correctement fait, vous verrez cette fenêtre :
Les fichiers sont sur l’hébergement. Créez une base de données MySQL pour le nouveau site Drupal. Si vous avez un hébergement, vous avez sûrement accès à un panneau de contrôle (cPanel, DirectAdmin, ISPmanager). Pour savoir comment créer une base via ces panneaux, consultez un article du tutoriel drupalbook.org.
Après création de la base et transfert des fichiers, supprimez le fichier de configuration Drupal settings.php situé dans sites/default/settings.php. En supprimant ce fichier, Drupal lancera l’installateur. Installez Drupal comme d’habitude :
Drupal est installé, tous les modules présents dans sites/all/modules y sont encore, mais non activés. Activez le module Backup and Migrate. Ensuite, retournez dans la page des réglages du module, mais cette fois dans la section Restore.
Si vous avez sauvegardé le dump sur votre ordinateur, utilisez la première option : téléchargez le fichier dump puis cliquez sur Restore now. Si vous avez sauvegardé le dump directement sur le site, cliquez sur "saved backup destinations", puis sur "list files" dans Manual Backups Directory, sélectionnez "restore" sur le dump souhaité. Confirmez la restauration de la base et le site sera complètement restauré.
Création d’une sauvegarde avec Sypex Dumper
Utiliser sypex dumper complique un peu le transfert d’un site Drupal, car il existe déjà le module Backup and Migrate qui rend le transfert du site depuis Denwer vers l’hébergement (et inversement) très simple.
Souvent, on doit transférer un site d’un hébergement à un autre ou on développe sur Denwer avant de mettre en ligne. Dans un article à venir, nous verrons comment publier un site de votre ordinateur personnel vers Internet. Pour l’instant, voyons les étapes pour y parvenir.
Sauvegarde d’un site Drupal
Commencez par télécharger l’application permettant de copier votre base de données. J’utilise habituellement sypex dumper. Vous pouvez le télécharger ici. La version lite suffit.
L’archive contient deux fichiers : dumper.php et readme.txt. Le readme explique la procédure, mais voici un guide plus détaillé pour faire une sauvegarde complète :
Installation
1. Décompressez le fichier zip téléchargé.
2. Téléversez dumper.php dans un dossier accessible via le web sur votre serveur.
3. Donnez les permissions CHMOD 777 à ce dossier.
Utilisation
1. Ouvrez dans votre navigateur l’URL : http://domain.com/dumper.php.
2. Entrez le login et le mot de passe de votre base de données.
3. Création de la sauvegarde :
a. Choisissez la base dans la liste en haut.
b. Laissez le filtre vide (toutes les tables de la base seront incluses).
c. Choisissez la méthode de compression (bzip2 est la plus efficace mais lente).
d. Choisissez le niveau de compression (7 est optimal).
e. Cliquez sur Appliquer.
f. Une fois le script terminé (boutons Télécharger et Retour activés), téléchargez le fichier via HTTP ou FTP. Le nom du fichier inclut le nom de la base et la date pour faciliter la gestion.
4. Restauration de la base :
a. Sélectionnez la base en bas de la page.
b. Sélectionnez un fichier dans la liste (ou téléversez-le dans le dossier backup si nécessaire).
c. Cliquez sur Appliquer.
d. Suivez la progression de la restauration.
Filtres
Le filtre des tables utilise des modèles spéciaux :
- * correspond à n’importe quel nombre de caractères
- ? correspond à un seul caractère quelconque
- ^ signifie exclusion de la ou des tables
Exemples :
- ib_* - toutes les tables commençant par "ib_" (tables du forum invision board)
- ib_*, ^ib_sessions - toutes les tables commençant par "ib_" sauf "ib_sessions"
- ib_s*s, ^ib_sessions - toutes les tables commençant par "ib_s" et finissant par "s" sauf "ib_sessions"
- ^*s - toutes les tables sauf celles finissant par "s"
- ^ib_???? - toutes les tables sauf celles commençant par "ib_" suivies de 4 caractères
Passons à la pratique :
1. Copiez dumper.php à la racine de votre site.
2. Ouvrez dumper.php pour édition et modifiez :
define('URL', 'http://'); en define('URL', 'http://example.ru'); où example.ru est votre nom de domaine.
define('DBNAMES', ''); en define('DBNAMES', 'nom_de_votre_base');
3. Si le site est en production, passez-le en mode maintenance (hors ligne). Videz le cache pour réduire la taille de la sauvegarde.
Ensuite, lancez dumper.php via example.ru/dumper.php.
Vous devriez voir cette fenêtre :
Entrez votre login et mot de passe de la base (pour Denwer, par défaut login : root, pas de mot de passe).
4. Après connexion, créez le dump de la base :
Cliquez sur "Appliquer" pour créer le dump.
5. Un dossier backup est créé à la racine du site contenant la copie de la base :
6. Copiez maintenant tous les fichiers du site avec le dossier backup. Cette archive constitue la copie complète de votre site.
Transfert du site vers un autre hébergement (de Denwer vers un hébergement)
1. Faites une sauvegarde comme décrit ci-dessus.
2. Copiez tous les fichiers vers le nouvel hébergement.
3. Si le nom de domaine change, ouvrez le dump de la base dans un éditeur de texte (par exemple Notepad++) et remplacez toutes les occurrences de l’ancien nom par le nouveau. Si le dump est compressé, décompressez-le d’abord.
4. Créez la base de données pour le site transféré.
5. Modifiez dumper.php avec le nouveau nom de domaine et le nom de la base.
6. Éditez le fichier de configuration Drupal sites/default/settings.php, notamment la variable $db_url pour mettre à jour les identifiants de connexion à la base.
7. Lancez dumper.php sur le nouveau site. Sélectionnez Restore, choisissez le dump modifié et restaurez la base.
Si tout est fait correctement, le site fonctionnera sur la nouvelle adresse. Pour plus d’informations sur la modification des DNS, la création de bases et les hébergements, consultez les articles précédents.