Comment installer le CMS Ghost sur un serveur Debian 12
Apprenez à installer le CMS Ghost sur Debian 12 grâce à ce guide détaillé. Installation de Node.js, MySQL, NGINX et sécurisation avec Let's Encrypt.
Introduction
Ghost est un Content Management System (CMS) Open Source moderne et performant, conçu pour créer des blogs et de newsletters. Contrairement à des plateformes plus complexes comme WordPress, il se concentre sur l'essentiel : la création et la diffusion de contenu de qualité.
Idéal pour les créateurs de contenu, il offre une interface épurée et intuitive, d'excellentes performances, une optimisation pour le référencement, une gestion des membres ainsi que de la monétisation directement intégrée.
Il est possible de souscrire à une offre SaaS directement sur le site de la Ghost Foundation ou de l'installer sur son propre serveur, option que je détaillerai dans ce tutoriel.
Je vais vous montrer comment installer Ghost sur un serveur sous Linux Debian 12.
Pré-requis
Avant de commencer, assurez-vous de disposer des éléments suivants :
- Un serveur sous Linux Debian 12 avec accès root ou privilèges sudo
- Un nom de domaine pointant vers votre serveur (A-record ou AAA-record) afin de pouvoir configurer un certificat TLS
Installation
Mise à jour du système
La première étape consiste à mettre à jour votre système Debian 12 :
# Mettez à jour la liste des paquets disponibles
apt update
# Installez les mises à jour
apt upgrade
Ajout d'un utilisateur dédié pour Ghost
Il est conseillé de créer un utilisateur dédié pour l'installation de Ghost. Ne nommez pas cet utilisateur "ghost" afin d'éviter les conflits.
# Créez l'utilisateur 'blog'
adduser blog
# Créez un mot de passe pour cet utilisateur
passwd blog
# Ajoutez l'utilisateur au groupe sudo
usermod -aG sudo blog
# Utilisez le nouvel utilisateur
su - blog
Installation de Node.js
Ghost étant basé sur Node.js, nous devons l'installer. La version conseillée au 17/08/2024 est la 20.x (Node v20 Iron LTS).
Vous pouvez consulter la documentation de Ghost pour vous assurer que cela est toujours le cas.
# Installez les paquets nécessaires
sudo apt install -y ca-certificates curl gnupg
# Créez un répertoire pour le stockage de la clé
sudo mkdir -p /etc/apt/keyrings
# Téléchargez et importez la clé GPG de Nodesource
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
# Spécifiez la version que vous souhaitez installer
NODE_MAJOR=20
# Ajoutez le dépôt Nodesource à APT
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
# Mettez à jour la liste des paquets disponibles
sudo apt update
# Installez Nodejs
sudo apt install -y nodejs
Installation de MySQL
La Ghost Foundation recommande l'utilisation du système de gestion de bases de données (SGBD) MySQL. Procédons à son installation :
# Téléchargez le paquet de configuration APT
wget https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
# Installez le paquet
sudo dpkg -i mysql-apt-config_0.8.32-1_all.deb
# Mettez à jour la liste des paquets disponibles et installez les mises à jour
sudo apt update && apt -y upgrade
# Installez le serveur MySQL
sudo apt install mysql-server
Sécurisez votre serveur MySQL :
mysql_secure_installation
Répondez aux questions qui vont vous être posées :
# Enter password for user root:
# VALIDATE PASSWORD COMPONENT : No
# Change root password ? : No
# Remove anonymous user : Y
# Disallow root login remotely : Y
# Remove test database and access to it? : Y
# Reload privilege table now : Y
Connectez-vous au serveur MySQL pour créer un utilisateur et une base de données pour Ghost :
mysql -u root -p
# Créez la base de données 'ghost_db'
CREATE DATABASE ghost_db;
# Créez l'utilisateur 'ghost_user'
CREATE USER 'ghost_user'@'localhost' IDENTIFIED BY 'CHOISISSEZ UN MOT DE PASSE';
# Attribuez les droits nécessaires sur la base de données
GRANT ALL PRIVILEGES ON ghost_db.* TO 'ghost_user'@'localhost';
quit;
Installation de NGINX
La documentation officielle recommande l'utilisation de NGINX.
# Installez le serveur NGINX ainsi que ses dépendances
sudo apt install -y nginx
# Supprimez le site et les fichiers de configuration par défaut
sudo rm /etc/nginx/site-enabled/default
sudo rm -rf /var/www/html/
Installation de Ghost
Maintenant que toutes les dépendances sont installées, passons à l'installation de Ghost proprement dite :
# Téléchargez et installez Ghost-CLI
sudo npm install ghost-cli@latest -g
# Créez un répertoire pour votre site
sudo mkdir -p /var/www/blog
# Modifiez l'utilisateur et le groupe propriétaire de ce répertoire
sudo chown blog:blog /var/www/blog
# Modifiez les droits d'écriture, de lecture et d'exécution
sudo chmod 775 /var/www/blog
cd /var/www/blog
# Installez votre site Ghost
ghost install
Plusieurs questions vont vous être posées afin de paramétrer votre nouveau site. Il vous sera proposé de créer un certificat TLS Let's Encrypt, et le serveur Web NGINX sera automatiquement configuré durant cette étape.
# Enter your blog URL : https://votre-site.fr/
# Enter your MySQL hostname : 127.0.0.1
# Enter your MySQL username : ghost_user
# Enter your MySQL password: VOTRE-MOT-DE-PASSE
# Enter your Ghost database name: ghost_db
# Do you wish to set up Nginx? (Y/n)
# Do you wish to set up SSL? (Y/n)
# Enter your email (For SSL Certificate) : contact@votre-site.fr
# Do you wish to set up Systemd? (Y/n)
# Do you want to start Ghost? (Y/n)
Une fois cette étape terminée, rendez-vous sur l'URL affichée afin de terminer l'installation en créant votre compte administrateur.
Premiers pas avec Ghost
Maintenant que Ghost est installé et sécurisé, voici quelques conseils pour bien démarrer :
- Personnalisez votre thème en accord avec l'identité visuelle de votre organisation
- Configurez et utilisez la fonctionnalité de newsletter pour rester en contact avec votre audience
- Intégrez des outils d'analyse comme Matomo ou Google Analytics pour suivre les performances
Conclusion
Vous voilà maintenant avec une installation fonctionnelle du CMS Ghost sur votre système Debian 12, fonctionnant avec une base de données MySQL, sécurisé grâce à Nginx et Let's Encrypt.
Bien que l'installation de Ghost sur Debian 12 puisse sembler complexe au premier abord, ce guide étape par étape vous permet de profiter d'une plateforme de publication puissante et performante.
Ghost offre un outil idéal pour renforcer votre présence en ligne, partager votre expertise et engager votre communauté. Avec sa facilité d'utilisation et ses performances optimales, Ghost vous permet de vous concentrer sur ce qui compte vraiment : la création de contenu de qualité.
Si cet article vous a été utile, n'hésitez pas à laisser un commentaire ou partager ce tutoriel. Votre feedback est essentiel pour améliorer les guides et offrir des informations pertinentes.