Comment sauvegarder un blog Ghost sur Linux




Méthodes de sauvegarde pour votre blog Ghost : Un guide complet

La plateforme de blogging Ghost est particulièrement adaptée aux débutants souhaitant héberger leur propre solution, grâce à un script d’installation automatique. Cependant, l’absence de script de sauvegarde automatique est un point faible. De nombreuses installations Ghost se retrouvent ainsi sans protection. Une méthode simple pour sauvegarder votre blog est d’utiliser le gestionnaire intégré, bien qu’il soit moins complet et offre moins de flexibilité. Cette solution peut néanmoins dépanner dans certaines situations.

Pour effectuer une sauvegarde via l’interface de Ghost, ouvrez un nouvel onglet de votre navigateur et saisissez l’adresse suivante :

https://votreblogghost.com/ghost/settings/labs/

Sur la page « Labs » de l’interface web, localisez le bouton « Exporter » et cliquez dessus. Cette action créera une sauvegarde de l’ensemble de votre blog. Pour restaurer cette sauvegarde ultérieurement, retournez à cette même adresse, choisissez « Importer », sélectionnez le fichier de sauvegarde, puis chargez-le. Peu après l’importation, vos paramètres et données devraient être rétablis à l’état qu’ils avaient lors de la sauvegarde initiale.

Sauvegarde via la ligne de commande

Ghost intègre un outil de sauvegarde, mais celui-ci n’offre pas le même niveau de sécurité, d’automatisation et de contrôle qu’une sauvegarde effectuée via la ligne de commande Linux. Pour sauvegarder votre blog Ghost sur un serveur Linux, commencez par créer un nouveau dossier qui contiendra tous les fichiers et données nécessaires à la sauvegarde.

Dans votre terminal serveur, utilisez la commande mkdir pour créer un nouveau dossier. Attention : ne faites pas cette opération en tant qu’administrateur (root) !

mkdir -p ~/sauvegarde-blog-ghost
mkdir -p ~/sauvegarde-blog-ghost/sql

L’exécution de la commande mkdir crée un nouveau répertoire dans le dossier /home/ de l’utilisateur actuel. C’est un emplacement pertinent pour stocker vos sauvegardes, car il évitera de les égarer dans des dossiers aléatoires du système de fichiers Linux.

Ensuite, utilisez la commande sqldump afin d’exporter la base de données SQL de Ghost.

Important : remplacez « nom_utilisateur » par le nom d’utilisateur ayant accès à la base de données (souvent « root ») et « nom_base_donnees » par le nom de la base de données utilisé lors de l’installation de Ghost.

mysqldump -u nom_utilisateur -p nom_base_donnees > db.blog_ghost.sql

Accédez au répertoire d’installation de Ghost en utilisant la commande cd :

cd /var/www/ghost

Dans ce répertoire, désactivez Ghost avec la commande suivante :

ghost stop

Une fois le serveur désactivé, vous pouvez effectuer une copie intégrale des fichiers vers le dossier ~/sauvegarde-blog-ghost.

cp -rp /var/www/ghost/* ~/sauvegarde-blog-ghost

L’utilisation de l’option -rp avec la commande cp assure la conservation des permissions définies lors de l’installation de Ghost. Quittez ensuite le répertoire /var/www/ghost pour revenir à /home/nom_utilisateur à l’aide de la commande cd.

cd ~/

Compression de la sauvegarde

Tous les fichiers importants de votre blog Ghost sont maintenant réunis dans le dossier ~/sauvegarde-blog-ghost, avec leurs permissions intactes. L’étape suivante consiste à compresser ces fichiers dans une archive Tar unique. Cette archive facilite le transport des sauvegardes hors de votre serveur, le téléchargement vers des services comme Dropbox ou NextCloud, ou encore le partage avec vos collaborateurs.

Pour créer une archive compressée de votre sauvegarde, utilisez la commande tar dans votre terminal :

Important : copiez la commande avec précision. Une erreur pourrait compromettre la conservation des permissions durant la compression !

tar -zcvpf sauvegarde-blog-ghost.tar.gz /home/nom_utilisateur/sauvegarde-blog-ghost

Chiffrement de la sauvegarde

Cette étape est cruciale. Sans chiffrement, la base de données de votre blog, les fichiers systèmes importants et autres informations sensibles seraient accessibles à toute personne ayant accès à l’emplacement où vous stockez l’archive Tar. Fort heureusement, chiffrer une archive Tar sous Linux est très simple.

Le moyen le plus rapide de chiffrer vos données depuis la ligne de commande est d’utiliser GnuPG. Assurez-vous que gpg soit installé, puis exécutez cette commande :

sudo gpg -c sauvegarde-blog-ghost.tar.gz

L’utilisation de l’option -c avec gpg lancera le processus de chiffrement. Une fois terminé, vous obtiendrez un fichier nommé sauvegarde-blog-ghost.tar.gz.gpg.

Votre sauvegarde étant chiffrée, vous pouvez maintenant supprimer l’archive Tar non chiffrée en toute sécurité avec la commande rm :

rm sauvegarde-blog-ghost.tar.gz

Restauration de la sauvegarde

La restauration de votre sauvegarde Ghost sur un nouveau système commence par le déchiffrement. Transférez le fichier sauvegarde-blog-ghost.tar.gz.gpg vers /home/nom_utilisateur/ de votre serveur, puis déchiffrez-le avec la commande :

gpg sauvegarde-blog-ghost.tar.gz.gpg

Ensuite, extrayez l’archive non chiffrée :

tar -xvpf sauvegarde-blog-ghost.tar.gz

Utilisez cd pour naviguer vers le dossier sql et restaurez la base de données en utilisant mysqldump :

cd ~/sauvegarde-blog-ghost/sql

sudo -s

mysqldump -u nom_utilisateur -p nom_base_donnees <  db.blog_ghost.sql
rm -rf /home/nom_utilisateur/sauvegarde-blog-ghost/sql

Une fois la base de données restaurée, déplacez les fichiers système avec cp :

cp -rp /home/nom_utilisateur/sauvegarde-blog-ghost/* /var/www/

Réinstallez ensuite Ghost-cli avec NPM :

Note: Il est possible que vous ayez besoin de réinstaller NodeJS, Yarn, etc. Consultez un tutoriel si vous avez besoin d’aide sur ce point.

sudo npm i -g ghost-cli

Enfin, démarrez le service Ghost avec la commande :

ghost start

Le service Ghost devrait être opérationnel une fois cette commande exécutée.