Comment sauvegarder un site Drupal sous Linux



La gestion de votre contenu à l’aide de Drupal représente une excellente approche pour optimiser votre site web. Cette plateforme met à disposition une multitude d’outils, d’extensions et de fonctionnalités. Cependant, malgré les nombreux atouts de Drupal, la sauvegarde n’en fait pas partie. Cette lacune est regrettable pour un CMS par ailleurs remarquable. Étant donné l’absence d’une solution de sauvegarde intégrée efficace pour un site Drupal sous Linux, la sauvegarde manuelle est souvent nécessaire.

Création du Répertoire de Sauvegarde

Pour effectuer une sauvegarde d’un site Drupal sous Linux, il faut initialement créer un dossier dédié aux fichiers exportés. La commande `mkdir` dans le terminal permet de créer ce répertoire.

Commencez par vous connecter en tant qu’utilisateur root via `su` :

su -

Si vous ne connaissez pas le mot de passe root, utilisez `sudo -s` pour obtenir les privilèges nécessaires :

sudo -s

Ensuite, créez un répertoire de sauvegarde nommé `drupal-backups` à la racine `/` :

mkdir -p drupal-backups

Exportation des Fichiers SQL

L’étape suivante consiste à exporter tous les fichiers de la base de données SQL. Ces opérations doivent être effectuées avec les privilèges root. Évitez d’effectuer cette tâche avec un utilisateur standard.

Dans le dossier `drupal-backups`, créez un sous-dossier `sql`, un sous-dossier `installation-files` et un sous-dossier `apache2-conf`:

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 depuis l’installation SQL du serveur vers le dossier de sauvegarde.

Note : Avant d’exécuter la commande ci-dessous, remplacez « username » et « databasename » par votre nom d’utilisateur SQL et le nom de la base de données SQL utilisée par Drupal. Par défaut, le nom de la base de données est souvent « drupal ».

cd drupal-backups/sql

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

Sauvegarde des Fichiers d’Installation

Après la sauvegarde des fichiers de la base de données, il est nécessaire de sauvegarder l’installation Drupal elle-même. Pour ce faire, réalisez une copie intégrale du contenu de `/var/www/html/`. Si vous avez suivi nos instructions d’installation, le cœur de votre site Drupal se trouve directement dans ce répertoire sans sous-dossiers. Utilisez la commande `cp` pour copier le dossier `html` vers `/drupal-backups/files`.

Note : Si votre installation est située dans un sous-dossier tel que `/var/www/html/drupal`, ajustez la commande `cp` en conséquence.

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

La sauvegarde de l’installation Drupal est cruciale, car elle contient des configurations importantes, des thèmes et d’autres éléments essentiels. Cependant, il ne faut pas oublier la configuration Apache2 qui indique au serveur web l’emplacement de l’installation Drupal et comment la charger. Sans ce fichier, la sauvegarde serait incomplète.

Pour sauvegarder la configuration Apache2, exécutez la commande suivante :

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

Compression des Fichiers de Sauvegarde

Maintenant que tous les fichiers nécessaires du serveur Drupal sont copiés et prêts à être sauvegardés, il est temps de créer une archive Tar. La compression simplifiera grandement la gestion des fichiers de sauvegarde. La commande suivante permet de créer une archive Tar de vos fichiers Drupal :

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

La compression améliore le déplacement des fichiers, mais ne les protège pas. Si vous envisagez de stocker votre sauvegarde sur un service cloud public, l’archive Tar non chiffrée expose les données sensibles contenues dans les fichiers SQL, de configuration ou du site à des accès non autorisés.

Il est donc préférable de chiffrer l’archive avant de la diffuser. Assurez-vous que GnuPG est installé. Si ce n’est pas le cas, recherchez « gpg » dans votre gestionnaire de paquets et installez-le. Une fois installé, exécutez cette commande pour chiffrer votre sauvegarde Drupal :

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

La commande `gpg -c` demande un mot de passe pour chiffrer l’archive Tar. Choisissez un mot de passe complexe et attendez que le chiffrement soit terminé. Ensuite, vous pouvez copier le fichier `drupal-website-backup.tar.gz.gpg` et le stocker dans l’emplacement de sauvegarde souhaité.

Restauration de la Sauvegarde

Pour restaurer la sauvegarde, téléchargez le fichier GPG sur le serveur cible, puis suivez ces étapes :

su -

Ou:

sudo -s

Créez un répertoire de restauration :

mkdir -p /drupal-restore/

Déplacez le fichier GPG dans le nouveau dossier de restauration :

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

Déchiffrez la sauvegarde avec GPG :

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

Extrayez l’archive :

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

Accédez au dossier de sauvegarde extrait :

cd drupal-restore/drupal-backups

Commencez la restauration en important les données SQL dans MySQL :

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

Une fois la base de données restaurée, 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 essentielle de la restauration.

Une fois la restauration terminée, redémarrez votre serveur Linux pour garantir le bon fonctionnement de tous les services nécessaires à Drupal. Après le redémarrage, votre site devrait être opérationnel comme avant la sauvegarde.