GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment déployer Ghost Blog avec Nginx sur Ubuntu 18.04 LTS

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-server

Au 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.service

Exé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 -p

Cré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-xslt

Vé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.0

Démarrez et activez NGINX :

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Cré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 yarn

Vé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 ou yarn .

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.1

Dé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.com

Modifier le propriétaire de /var/www/example.com répertoire à l'utilisateur non root avec sudo privilèges que vous avez créés. Dans cet exemple, johndoe :

sudo chown johndoe:johndoe /var/www/example.com

Votre dossier d'installation doit avoir les bonnes autorisations :

sudo chmod 755 /var/www/example.com

Accédez au répertoire racine de Ghost :

cd /var/www/example.com

Assurez-vous que le répertoire est vide pour éviter les conflits de fichiers :

ls -a

Installez Ghost en mode production en exécutant :

installation fantôme

Ré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? yes

Une fois l'installation terminée, exécutez

ghost ls

pour 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ôme

commande, 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 utilise https://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.


Ubuntu
  1. Comment installer Nextcloud avec Nginx sur Ubuntu 18.04 LTS

  2. Comment installer Seafile avec Nginx sur Ubuntu 20.04 LTS

  3. Comment installer Phorum avec Nginx sur Ubuntu 18.04 LTS

  4. Comment déployer Modsecurity avec Nginx sur Ubuntu 20.04 LTS

  5. Déployer Modsecurity avec Nginx sur Ubuntu 20.04 LTS

Comment installer phpMyAdmin avec Nginx (LEMP) sur Ubuntu 18.04 LTS

Comment installer Nginx avec le module Ngx_Pagespeed sur Ubuntu 16.04 LTS

Comment installer Joomla avec Nginx sur Ubuntu 18.04 LTS

Comment installer phpMyAdmin avec Nginx sur Ubuntu 18.04 LTS

Comment installer phpMyAdmin avec Nginx sur Ubuntu 20.04 LTS

Comment déployer l'application Laravel avec Nginx sur Ubuntu ?