Les accidents arrivent !

Beaucoup de temps, d'efforts et d'argent sont investis dans la création et la maintenance d'un site web. Dommage de tout perdre à cause d'un accident imprévu. La sauvegarde est facile pour les sites moyens. Les sites volumineux ou spécialisés ont probablement besoin de conseils spécialisés.

Stratégie de sauvegarde

Les sites web Joomla! se composent de deux parties :

  • Les Fichiers situés dans l'arborescence du répertoire racine de Joomla. Entre les mises à jour, les fichiers ne changent pas beaucoup car ils sont principalement liés au code. De nouvelles images et documents peuvent être ajoutés, ainsi que peut-être des surcharges de template.
  • La Base de données située ailleurs sur le serveur hôte. La base de données contient la majeure partie du contenu du site et peut beaucoup changer lorsque les utilisateurs ajoutent ou modifient du contenu.

Chaque propriétaire de site a besoin d'une stratégie de récupération du site en cas de sinistre. Le conseil habituel sur les forums est de restaurer la dernière sauvegarde. Décidez donc quoi sauvegarder et à quelle fréquence le faire.

Les services d'hébergement prennent souvent des instantanés des sites des clients et peuvent être en mesure de restaurer un site dans l'état où il était hier, la semaine dernière ou le mois dernier. Mais cela peut couvrir tout ce qui se trouve dans le compte, comme le courrier électronique et d'autres packs logiciels. Ne comptez pas sur cela pour la récupération d'un site Joomla.

Cet article décrit quelques méthodes gratuites courantes pour sauvegarder des sites web Joomla. Vous pourriez choisir de payer pour des outils et/ou des services de sauvegarde, mais cela n'est pas couvert ici.

Akeeba Backup

Si vous utilisez le menu d'Administration pour naviguer vers Système / Installer des extensions / Installer depuis le web, le premier élément de la liste est Akeeba Backup. Il est en tête de liste parce qu'il a le plus grand nombre d'avis positifs. Inutile de dire qu'il a une très longue histoire et une réputation irréprochable. Il existe une version gratuite et une version payante avec quelques fonctionnalités supplémentaires. C'est un modèle économique courant pour les développeurs d'extensions. Ne soyez pas méfiant ! La version gratuite est facile à utiliser, ne comporte aucune distraction et suffit pour la plupart des sites. Ce qu'elle fait :

  • Akeeba Backup analyse votre installation pour déterminer les paramètres optimaux pour créer un fichier de sauvegarde.
  • Il crée un fichier de sauvegarde composite contenant tous les fichiers du site web et le contenu de la base de données.
  • Il stocke des sauvegardes horodatées à gérer, télécharger ou supprimer selon les besoins.
  • Le téléchargement est un fichier .jpa. Il est recommandé d'utiliser le FTP pour effectuer le téléchargement.
  • Il existe une application distincte, Akeeba Kickstart, pour décompresser le fichier .jpa. Tout cela est décrit dans la page de gestion des sauvegardes d'Akeeba.
  • Après la décompression, le site est installé avec un installateur Akeeba selon une séquence similaire à une installation Joomla.
  • L'installateur modifie la configuration pour la restauration vers un emplacement différent et demande les nouveaux détails de la base de données.

Le seul problème susceptible de se produire est que le fichier de sauvegarde peut être très volumineux et que vous pouvez dépasser votre quota d'espace de fichiers si vous laissez les sauvegardes s'accumuler.

Essayez-le ! Cela ne coûte rien et prend des minutes plutôt que des heures.

Outils de l'hébergeur

La plupart des services d'hébergement fournissent des outils de sauvegarde. Exemple :

cPanel

Sur la page Outils, l'élément Fichiers comporte un lien Sauvegarde. La page Sauvegarde propose trois options :

  • Sauvegarde complète : Une sauvegarde complète crée une archive de tous les fichiers et de la configuration de votre site web. Vous pouvez utiliser ce fichier pour déplacer votre compte vers un autre serveur ou pour conserver une copie locale de vos fichiers.
  • Sauvegarde partielle
    • Télécharger une sauvegarde du répertoire personnel
    • Télécharger une sauvegarde de la base de données (avec une liste des bases de données)

Il existe également des options pour Restaurer chacun de ces types de sauvegarde. Des options permettant de produire des sauvegardes automatiques peuvent également être disponibles.

Des dossiers individuels peuvent être compressés dans divers formats adaptés au téléchargement à l'aide du Gestionnaire de fichiers de cPanel. Une base de données peut être exportée à l'aide de phpMyAdmin. Aucune de ces méthodes n'est traitée ici.

Outils locaux

Il peut arriver que vous ayez besoin de sauvegarder un site localement sur un ordinateur portable ou de bureau. Par exemple, vous pouvez vouloir copier un site vers/depuis un service d'hébergement vers/depuis votre ordinateur local. Si vous disposez d'une installation Joomla locale, vous pouvez utiliser Akeeba Backup comme décrit ci-dessus. Sinon, vous pouvez sauvegarder la base de données et les fichiers Joomla séparément.

mysqldump

Si vous utilisez MySQL, il est probable que l'outil en ligne de commande mysqldump soit disponible. Essayez cette commande :

/usr/local/mysql/bin/mysqldump -u root -p dbname > ~/tmp/dbname-dump.sql

où root est un utilisateur ayant accès à la base de données et dbname est le nom de la base de données que vous souhaitez exporter. Il se peut que l'on vous demande de saisir le mot de passe.

Vous pouvez également rediriger la sortie vers une commande zip ou gzip :

/usr/local/mysql/bin/mysqldump -u root -p dbname | gzip > ~/tmp/dbname-dump.sql.gz

phpMySQL

Pour effectuer la même tâche avec votre installation locale de phpMyAdmin, ouvrez-le et sélectionnez la base de données que vous souhaitez exporter. Sélectionnez le bouton Exporter en haut de l'écran. Par défaut, l'export Rapide utilise SQL comme format de sortie. Sélectionnez le bouton Exporter pour essayer. Il vous sera demandé de désigner un fichier de sortie.

Si vous sélectionnez l'option Personnalisé, vous pouvez choisir une option de compression de la sortie, soit aucune, soit zip, soit gzip. Essayez un export compressé et sélectionnez le bouton Exporter.

Vous devez Vérifier la base de données exportée. Créez une nouvelle base de données, par exemple animporttest, afin qu'elle se trouve près du haut de votre liste de bases de données. Avec la nouvelle base de données vide sélectionnée, utilisez le bouton Importer en haut de l'écran. Dans le formulaire d'import, utilisez Parcourir pour trouver le fichier que vous avez exporté, puis sélectionnez le bouton Importer.

Cette vérification en valait la peine. L'export gzip n'a exporté que trois tables. L'export zip a fonctionné correctement. Cela était évident au vu de la taille des fichiers exportés. Le fichier zip faisait 4 Mo mais le gzip ne faisait que 75 Ko. Il doit y avoir un bug quelque part !

Zip et Gzip

Ces outils en ligne de commande sont assez répandus et souvent utilisés depuis des interfaces graphiques. Par exemple, dans le Finder sur Mac, je peux sélectionner un dossier contenant un site Joomla, faire un clic droit et sélectionner Compresser. Cela prend quelques secondes pour créer une archive zip et n'affecte pas l'original.

Restaurer une sauvegarde

Conseil courant des forums Joomla :

  • Ne restaurez pas une sauvegarde par-dessus un site défectueux.
  • Videz votre base de données en supprimant toutes les tables ou créez une nouvelle base de données et attribuez-lui un utilisateur de base de données.
  • Supprimez tous les répertoires et fichiers de votre répertoire racine Joomla.

Akeeba Quickstart

Si vous avez utilisé Akeeba Backup, utilisez alors Akeeba Quickstart pour restaurer votre sauvegarde.

  • Consultez le tutoriel vidéo.
  • Téléchargez Akeeba Quickstart (PDF 94 Ko) gratuitement.
  • Vérifiez que le site restauré fonctionne correctement !

Akeeba Quickstart restaure à la fois la base de données et les fichiers Joomla. D'autres méthodes restaurent la base de données et les fichiers Joomla séparément.

Restaurer la base de données

Si vous disposez d'une sauvegarde de la base de données, il est préférable d'utiliser des outils système pour la restaurer. phpMyAdmin peut installer des bases de données de taille modérée mais peut manquer de temps ou de mémoire pour les grandes bases de données.

Si vous utilisez cPanel chez un hébergeur, vous pouvez importer une base de données depuis la page Backup / Restore. Cela n'est pas décrit ici.

Si vous avez un accès en ligne de commande, que ce soit chez un hébergeur ou sur votre ordinateur portable ou de bureau local, vous pouvez utiliser la commande mysql pour effectuer l'import. Téléversez l'archive de la base de données vers un emplacement temporaire en dehors de votre arborescence web et décompressez-la afin d'obtenir un fichier se terminant par .sql. Utilisez ensuite la commande suivante :

mysql -u dbusername -p -D dbname < db_dump_file.sql

Remplacez dbusername, dbname et db_dumo_file.sql par les valeurs réelles de votre site. Il se peut qu'on vous demande un mot de passe d'utilisateur de base de données. Cela peut prendre un certain temps mais devrait aller jusqu'au bout.

Restaurer les fichiers

Il s'agit simplement de décompresser le fichier compressé de votre dernière sauvegarde. Sauf que ce n'est parfois pas si simple. Selon votre système d'exploitation et la méthode choisie, les répertoires et fichiers archivés peuvent tous apparaître dans le répertoire courant ou dans un nouveau répertoire, ou bien il peut vous être demandé de désigner un répertoire de destination. Tant que vous ne savez pas ce que fait votre système, il est préférable de placer l'archive dans un répertoire vide, de la décompresser à cet endroit, puis de déplacer le répertoire contenant les fichiers vers son emplacement final.

Certains utilisateurs préfèrent utiliser SFTP pour téléverser vers un hébergeur les fichiers extraits localement de l'archive. Il y a des milliers de fichiers, ce qui prend donc beaucoup de temps.

À la racine de votre site se trouve un fichier nommé configuration.php. Il contient le nom de la base de données et les identifiants d'accès. Assurez-vous qu'ils sont corrects pour votre site restauré. Le fichier a des droits d'accès définis à 444. Il faut les changer en 644 afin de pouvoir enregistrer toute modification nécessaire.

Si tout va bien, votre site restauré devrait fonctionner et être dans l'état où il se trouvait au moment de la sauvegarde.

Copier un site

Il existe plusieurs bonnes raisons de copier un site web entier d'un serveur à un autre. Par exemple, les experts du Forum recommandent souvent aux utilisateurs de créer une version locale d'un site sur un ordinateur portable ou de bureau à des fins de test, comme pour essayer de nouvelles extensions ou de nouveaux designs. Parfois, un utilisateur décide de changer d'hébergeur pour des raisons de coût ou de performance.

Quelle que soit la raison, le processus est relativement simple : effectuer une sauvegarde sur le site d'origine et la restaurer sur le site de destination. Certains points sont à surveiller :

  • Assurez-vous que l'hébergeur de destination répond aux exigences techniques minimales de Joomla. Cela concerne généralement les versions du serveur, de PHP et de la base de données
  • Après l'installation, vous pourriez constater que certains modules essentiels n'ont pas été activés. La plupart des hébergeurs corrigent ce type de problème sur demande.