Fantôme est une plate-forme de blogs entièrement open source (licence MIT), qui gagne en popularité parmi les développeurs et les utilisateurs ordinaires depuis sa sortie en 2013. Le code source de Ghost est accessible au public sur GitHub. Ghost prend généralement environ ~300 Mo de RAM pour bien fonctionner, il peut donc fonctionner sur un matériel modeste. Il met l'accent sur le contenu et bloguer . La chose la plus attrayante à propos de Ghost est son design simple, épuré, élégant et réactif. Vous pouvez écrire vos articles de blog à partir d'un téléphone mobile. Le contenu de Ghost est écrit et formaté à l'aide du langage Markdown. Ghost convient parfaitement aux individus ou aux petits groupes d'écrivains. Ghost prend également en charge les pages mobiles accélérées (AMP ), qui accélérera le chargement de votre blog sur les téléphones mobiles.
Récemment, les développeurs de Ghost ont publié la première version majeure et stable de Ghost : 1.0.0. Ghost 1.0.0 a introduit de nombreuses nouvelles fonctionnalités et les plus notables d'entre elles sont : un tout nouvel éditeur Markdown, une interface utilisateur actualisée (UI ), nouvelle conception de thème par défaut, nouveau processus d'installation et de mise à jour amélioré avec Ghost-CLI outil.
Dans ce tutoriel, nous allons configurer et déployer un blog Ghost sécurisé à l'aide du Ghost-CLI de Ghost outil sur un Ubuntu 18.04 LTS serveur utilisant Let's Encrypt , Acme.sh , Node.js , npm , Fil , NGINX et MySQL /MariaDB .
Exigences
- Nom de domaine. Ce tutoriel utilisera le domaine example.com.
- Un serveur exécutant Ubuntu 18.04 LTS avec 1 Go ou RAM.
- Un utilisateur non root avec des privilèges sudo.
Étapes initiales
Vérifiez votre version d'Ubuntu :
lsb_release -ds
# Ubuntu 18.04 LTS
Configurez le fuseau horaire :
timedatectl list-timezones
sudo timedatectl set-timezone 'Région/Ville'
Mettez à jour les packages de votre système d'exploitation :
sudo apt update &&sudo apt upgrade -y
Installez build-essential
paquet :
sudo apt install -y build-essential
Étape 1 - Installer Node.js et npm
REMARQUE :La dernière version de Ghost 1.0.0 prend actuellement en charge les versions de Node.js 8.9+ et 6.9+ seulement.
Ghost est basé sur Node.js. Nous allons installer recommandé version pour Ghost qui est v8 Carbon LTS au moment de ce tutoriel d'écriture. Sous Linux, vous disposez de quelques options d'installation :les binaires Linux (x86/x64), le code source ou via les gestionnaires de packages. Nous utiliserons la méthode Package Manager en utilisant le référentiel Nodesource.
Téléchargez et installez la dernière version du support à long terme (LTS ) version (version) de Node.js :
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
REMARQUE :npm est distribué avec Node.js - ce qui signifie que lorsque vous téléchargez Node.js, vous obtenez automatiquement npm installé sur votre ordinateur.
Vérifiez la version de Node.js et npm :
node -v &&npm -v
# v8.11.2
# 5.6.0
Npm est un projet distinct de Node.js et a tendance à être mis à jour plus fréquemment. Par conséquent, même si vous venez de télécharger Node.js (et donc npm), vous devrez probablement mettre à jour votre npm. Heureusement, npm sait se mettre à jour ! Pour mettre à jour votre npm, saisissez ceci dans votre terminal :
sudo npm install -g [protégé par e-mail]
Revérifiez la version de npm, il devrait s'agir de la dernière version :
npm -v
# 6.1.0
Étape 2 - Installer le serveur MariaDB
Ghost prend en charge les bases de données MySQL/MariaDB et SQLite. Dans ce tutoriel, cependant, nous utiliserons la base de données MariaDB. Si vous préférez, vous pouvez utiliser MySQL au lieu de MariaDB.
Téléchargez et installez la dernière version stable du serveur MariaDB à partir du dépôt MariaDB sur votre machine :
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt -repository 'deb [arch=amd64] https://mirrors.nxthost.com/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install -y mariadb-serverAu cours du processus d'installation de MariaDB, vous serez invité à entrer MariaDB
root
mot de passe de l'utilisateur. Vous devez entrer un mot de passe fort.
Vérifiez la version de MariaDB :
mysql --version &&sudo mysqld --version
# mysql Ver 15.1 Distrib 10.3.7-MariaDB, pour debian-linux-gnu (x86_64) en utilisant readline 5.2
# mysqld Ver 10.3.7 -MariaDB-1:10.3.7+maria~bionic-log pour debian-linux-gnu sur x86_64 (distribution binaire mariadb.org)Vérifiez si le démon MariaDB a démarré et est en cours d'exécution :
sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.serviceExécutez le
mysql_secure_installation
utilitaire (script) pour améliorer la sécurité de votre installation MariaDB :sudo mysql_secure_installation
# Entrez le mot de passe actuel pour root (entrez pour aucun) :
# Modifier le mot de passe root ? [O/n] N
# Supprimer les utilisateurs anonymes ? [O/n] O
# Interdire la connexion root à distance ? [O/n] O
# Supprimer la base de données de test et y accéder ? [O/n] O
# Recharger les tableaux de privilèges maintenant ? [O/n] O
# Réussite.
# Tout est terminé ! Si vous avez terminé toutes les étapes ci-dessus, votre installation de MariaDB
devrait maintenant être sécurisée.
# Merci d'utiliser MariaDB !Connectez-vous (connectez-vous) à la ligne de commande MariaDB en tant que MariaDB
root
utilisateur :mysql -u root -pCréez une nouvelle base de données et un utilisateur MariaDB pour l'installation de Ghost. Cette étape est facultative, car l'outil Ghost-CLI dans une étape ultérieure peut créer une base de données pour vous, il vous suffit d'entrer les informations d'identification de l'utilisateur root MariaDB (nom d'utilisateur et mot de passe) lorsque Ghost-CLI vous le demande lors de l'installation de Ghost :
mysql> CREATE DATABASE dbname;
mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL ON dbname.* TO 'username'@'localhost';
mysql> PRIVILÈGES FLUSH ;Quitter (déconnecter) de MariaDB :
mysql> SORTIR ;Étape 3 - Installer NGINX
NGINX (engine-x) est un serveur Web hautes performances, un équilibreur de charge, un cache et un serveur proxy qui fonctionne bien dans tous les environnements :Bare Metal, Cloud public/privé/hybride et conteneurs. NGINX sera utilisé comme proxy inverse pour notre application Ghost.
NGINX peut être installé différemment selon le système d'exploitation. Pour Linux, les packages NGINX de nginx.org peuvent être utilisés.
Téléchargez et installez la dernière ligne principale (recommandé pour la plupart des déploiements ) version de NGINX et de modules chargeables dynamiquement directement depuis le référentiel NGINX officiel :
wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf " deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n">> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xsltVérifiez que NGINX est installé en vérifiant sa version :
sudo nginx -v &&sudo nginx -V
# version de nginx :nginx/1.15.0
# version de nginx :nginx/1.15.0Démarrez et activez NGINX :
sudo systemctl start nginx.service
sudo systemctl enable nginx.serviceCréez
/etc/nginx/snippets, /etc/nginx/ssl
,/etc/nginx/sites-available
et/etc/nginx/sites-enabled
répertoires. Ces répertoires sont nécessaires au bon fonctionnement de l'outil Ghost-CLI:
sudo mkdir -p /etc/nginx/{snippets,ssl,sites-available,sites-enabled}Ajouter à
include /etc/nginx/sites-enabled/*.conf;
directive ànginx.conf
fichier, exécutez :sudo vim /etc/nginx/nginx.conf
Enregistrez le fichier et quittez l'éditeur Vim.
Étape 4 - Installer Yarn (facultatif)
Téléchargez et installez le gestionnaire de packages Yarn sur votre système :
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update &&sudo apt install -y yarnVérifier la version du fil :
fil --version
# 1.7.0Étape 5 - Installation de Ghost-CLI
Ghost-CLI est un outil d'interface de ligne de commande (CLI) qui facilite l'installation et la mise à jour de Ghost. Il configure la base de données, configure NGINX en tant que proxy inverse, active la sécurité TLS/SSL à l'aide de Let's Encrypt CA, renouvelle automatiquement votre SSL et initialise Ghost en tant que service systemd. Ghost-CLI est un module npm qui peut être installé via
npm
ouyarn
.Téléchargez et installez l'outil Ghost-CLI :
sudo npm install -g [email protected]
# ou avec Yarn
sudo yarn global add [email protected]Vérifiez la version de Ghost-CLI :
version fantôme
# Version Ghost-CLI :1.8.1Dépannez le système pour tout problème potentiel lors de l'installation ou de la mise à jour de Ghost :
installation de Ghost DoctorÉtape 6 - Installer Ghost
Ensuite, nous allons installer Ghost à l'aide de l'outil Ghost-CLI.
Commencez par créer un répertoire racine de document vide :
sudo mkdir -p /var/www/example.comModifier le propriétaire de
/var/www/example.com
répertoire à l'utilisateur non root avecsudo
privilèges que vous avez créés. Dans cet exemple, johndoe :sudo chown johndoe:johndoe /var/www/example.comVotre dossier d'installation doit avoir les bonnes autorisations :
sudo chmod 755 /var/www/example.comAccédez au répertoire racine de Ghost :
cd /var/www/example.comAssurez-vous que le répertoire est vide pour éviter les conflits de fichiers :
ls -aInstallez Ghost en mode production en exécutant :
installation fantômeRépondez à chaque question comme demandé :
? Enter your blog URL: https://example.com ? Enter your MySQL hostname: localhost ? Enter your MySQL username: root ? Enter your MySQL password: your_mysql_root_user_password_here ? Enter your Ghost database name: database_name_for_ghost
? Do you wish to set up "ghost" mysql user? yes ? Do you wish to set up Nginx? yes ? Do you wish to set up SSL? yes ? Enter your email (used for Let's Encrypt notifications) [email protected] ? Do you wish to set up Systemd? yes ? Do you want to start Ghost? yesUne fois l'installation terminée, exécutez
ghost lspour afficher les processus Ghost en cours d'exécution.
À l'avenir, pour mettre à jour votre blog Ghost lorsqu'une nouvelle version sera publiée, il vous suffira d'exécuter
mise à jour fantômecommande, depuis le répertoire d'installation de Ghost et Ghost-CLI s'occupera de tout pour vous.
Étape 7 - Terminer la configuration de Ghost
Pour terminer le processus de configuration, accédez à la page de configuration de Ghost en ajoutant
/ghost
à la fin de l'URL ou de l'IP de votre blog. Cet exemple utilisehttps://example.com/ghost
.
Sur l'écran de bienvenue, cliquez sur Créer votre compte :
Entrez votre adresse e-mail, créez un utilisateur, un mot de passe et un titre de blog :
Invitez des membres supplémentaires à votre équipe. Si vous préférez ignorer cette étape, cliquez sur Je le ferai plus tard, rendez-moi sur mon blog ! en bas de la page.
Naviguez dans la zone d'administration de Ghost pour créer votre premier message, modifier le thème de votre site ou configurer des paramètres supplémentaires :
Félicitations ! Vous avez installé et déployé avec succès la plate-forme de blogs Ghost sur le serveur Ubuntu 18.04 LTS.