Comment sauvegarder un site Drupal sous Linux

Utiliser Drupal pour gérer votre contenu est un excellent moyen de tirer le meilleur parti d’un site Web. D’autant qu’il dispose de dizaines d’outils, de plugins et de fonctionnalités à proposer. Malgré toutes les grandes choses que Drupal fait, la sauvegarde n’en fait pas partie. C’est une vraie déception pour un logiciel CMS autrement stellaire. Puisqu’il n’y a pas un excellent outil que vous pouvez utiliser pour sauvegarder un site Drupal Linux, vous devez le faire manuellement.

Dossier de sauvegarde

Pour sauvegarder un site Drupal sous Linux, vous devez créer un dossier contenant les fichiers exportés. Dans le terminal, utilisez la commande mkdir pour créer un dossier de sauvegarde.

Tout d’abord, connectez-vous en tant que root avec su.

su -

Vous pouvez également utiliser sudo -s pour obtenir la racine si vous ne connaissez pas le mot de passe système.

sudo -s

Ensuite, créez un dossier de sauvegarde dans /.

mkdir -p drupal-backups

Exporter des fichiers SQL

Ensuite, vous devez exporter tous les fichiers de base de données SQL. Les fichiers SQL doivent être gérés par le compte root. N’essayez pas de faire cette sauvegarde avec un utilisateur régulier.

Dans le dossier drupal-backups, créez un sous-dossier SQL et un sous-dossier d’installation.

mkdir -p /drupal-backups/sql

mkdir -p /drupal-backups/installation-files

mkdir -p /drupal-backups/apache2-conf

Utilisez mysqldump pour exporter vos fichiers de base de données Drupal de l’installation SQL sur le serveur vers le dossier de sauvegarde.

Remarque: avant d’utiliser la commande ci-dessous, remplacez «username» et «databasename» par votre nom d’utilisateur SQL et le nom de la base de données SQL que Drupal utilise. Sur la plupart des installations, le nom de la base de données SQL par défaut est «drupal».

cd drupal-backups/sql

mysqldump -u username -p databasename > db.drupal_backup-1.sql

Sauvegarder les fichiers d’installation

Les fichiers de base de données de base sont sauvegardés. L’étape suivante consiste à sauvegarder l’installation réelle de Drupal. Pour ce faire, vous devez d’abord faire une copie complète de tout ce qui se trouve à partir de / var / www // html /. Si vous avez suivi notre guide pour installer Drupal, le cœur de votre site Web Drupal sous Linux se trouve directement à l’intérieur de / var / www / html, sans sous-dossiers. À l’aide de la commande cp, faites une copie complète du dossier html et placez-le dans / drupal-backups / files.

Remarque: si votre installation est / var / www / html / drupal, ou quelque chose de similaire, modifiez la commande cp en fonction de vos besoins.

cp -rp /var/www/html/*  /drupal-backups/installation-files/

Il est important de sauvegarder l’installation de Drupal. Dans ces fichiers se trouvent des configurations de site importantes, des thèmes, etc. Pourtant, ce ne sont pas les seuls fichiers qui doivent être sauvegardés. Un autre fichier clé est la configuration Apache2. Ce fichier de configuration indique au serveur Web Apache où se trouve votre installation Drupal et comment la charger. Sans ce fichier, la sauvegarde est inutile.

Pour créer une sauvegarde du fichier de configuration Apache2, exécutez la commande suivante:

cp /etc/apache2/sites-available/drupal.conf /drupal-backups/apache2-conf/

Compresser les fichiers de sauvegarde

Maintenant que tous les fichiers du serveur Drupal nécessaires ont été copiés et sont prêts pour la sauvegarde, il est temps de créer une archive Tar. La compression rendra le déplacement des fichiers de sauvegarde beaucoup plus facile. Pour créer une archive Tar de vos fichiers de sauvegarde Drupal, exécutez la commande suivante:

tar -zcvpf drupal-website-backup.tar.gz /drupal-backups

La compression des sauvegardes est une bonne idée, mais elle n’est pas sûre. Si vous allez enregistrer votre site Web Drupal sur un site Web de stockage dans le cloud public, le téléchargement de l’archive Tar non chiffrée signifie que tout le monde peut jouer avec les valeurs à l’intérieur des fichiers de base de données SQL, des fichiers du site ou pire.

Il est préférable de crypter cette archive avant de faire quoi que ce soit d’autre. Pour crypter, assurez-vous que GnuPG est installé. Vous ne l’avez pas? Recherchez «gpg» dans le gestionnaire de paquets de votre serveur Linux et installez-le. Une fois installé, exécutez la commande suivante pour crypter complètement votre archive de sauvegarde Drupal.

gpg -c drupal-website-backup.tar.gz

L’exécution de gpg -c indiquera à GnuPG que vous souhaitez crypter l’archive Tar et demandera un mot de passe à définir pour le nouveau fichier crypté GPG. Entrez un mot de passe sécurisé et attendez que le cryptage se termine. Lorsque GPG est terminé, n’hésitez pas à copier drupal-website-backup.tar.gz.gpg et à le télécharger là où vous prévoyez de conserver votre sauvegarde.

Restaurer la sauvegarde

Téléchargez le fichier de sauvegarde Drupal GPG sur le serveur sur lequel vous souhaitez restaurer la sauvegarde. Ensuite, procédez comme suit:

su -

ou

sudo -s

Créez un emplacement pour la sauvegarde.

mkdir -p /drupal-restore/

Déplacez le fichier GPG dans le nouveau dossier de sauvegarde.

mv /folder/where/drupal-website-backup/is/drupal-website-backup.tar.gz.gpg /drupal-restore/

Décryptez la sauvegarde à l’aide de GPG.

gpg drupal-website-backup.tar.gz.gpg

Extrayez la sauvegarde.

tar -xvpf drupal-website-backup.tar.gz

Entrez le dossier de sauvegarde extrait.

cd drupal-restore/drupal-backups

Il est maintenant temps de commencer la restauration. Commencez par importer les fichiers Drupal SQL dans MySQL.

cd sql
mysqldump -u username -p drupal < db.drupal_backup-1.sql

Maintenant que la base de données est en place sur le système, restaurez le reste des fichiers.

cp /drupal-restore/drupal-backups/apache2-conf/drupal.conf /etc/apache2/sites-available/
sudo ln -s /etc/apache2/sites-available/drupal.conf /etc/apache2/sites-enabled/drupal.conf

cp -rp /drupal-restore/drupal-backups/installation-files/* /var/www/html/

La mise en place des fichiers est la dernière étape critique du processus de restauration.

Lorsque tout semble bon, redémarrez votre serveur Linux. Bien qu’il puisse être ennuyeux de redémarrer, c’est une bonne idée. Faire un redémarrage garantira que tous les services nécessaires pour exécuter Drupal correctement reviennent en ligne. Lorsque le serveur revient en ligne, tout devrait être comme il était.