Android

Comment installer Ghost sur Ubuntu 18.04

Comment installer Ghost ?

Comment installer Ghost ?

Table des matières:

Anonim

Ghost est une plate-forme de publication source moderne construite au-dessus de la plate-forme Node.js. Il est entièrement personnalisable et facile à utiliser, vous permettant de publier votre contenu avec une courbe d'apprentissage presque nulle.

Dans ce tutoriel, nous allons vous montrer comment déployer un blog Ghost sécurisé sur un serveur Ubuntu 18.04 en utilisant Nginx comme proxy, un certificat SSL Let's Encrypt gratuit, la dernière version LTS de Node.js et MySQL / MariaDB comme backend de base de données.

Conditions préalables

Comme prérequis pour suivre ce tutoriel, vous aurez besoin:

  • Selon les exigences officielles du système Ghost, vous avez besoin d'au moins 1 Go de RAM. Si vous avez un serveur avec moins de 1 Go de RAM, vous pouvez créer un fichier d'échange. Un nom de domaine pointant vers l'IP de votre serveur public. Dans ce tutoriel, nous utiliserons example.com .Nginx installé en suivant Comment installer Nginx sur Ubuntu 18.04.Firewall configuré en suivant Comment configurer un pare-feu avec UFW sur Ubuntu 18.04. Assurez-vous que les ports 80 et 443 sont ouverts.

Avant de poursuivre ce didacticiel, assurez-vous que vous êtes connecté en tant qu'utilisateur avec les privilèges sudo.

Installation de Node.js et de Yarn

Au moment de la rédaction de cet article, la version Node.js recommandée pour Ghost est v8 carbon LTS. Nous installerons Node.js à partir du référentiel NodeSource.

Activez le référentiel NodeSource pour Node.js v8 à l'aide de la commande curl suivante:

curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -

Installez Node.js en tapant:

sudo apt install nodejs Pour d'autres méthodes d'installation, consultez notre guide Comment installer Node.js sur Ubuntu 18.04.

Pour installer Yarn, activez d'abord le référentiel Yarn sur votre système avec les commandes suivantes:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - 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 echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Une fois le référentiel activé, installez yarn avec:

sudo apt update sudo apt-get -o Dpkg::Options::="--force-overwrite" install yarn

Installer MySQL

Ghost prend en charge les bases de données MySQL, MariaDB et SQLite. Dans ce tutoriel, nous utiliserons MySQL qui est la base de données recommandée lorsque vous exécutez Ghost en mode production.

Installez le package MySQL avec la commande suivante:

sudo apt install mysql-server

Exécutez la commande mysql_secure_installation pour améliorer la sécurité de l'installation MySQL:

sudo mysql_secure_installation

Il vous sera demandé de configurer le VALIDATE PASSWORD PLUGIN qui est utilisé pour tester la force des mots de passe des utilisateurs MySQL. Il existe trois niveaux de politique de validation des mots de passe: faible, moyen et fort. Appuyez sur ENTER si vous ne souhaitez pas configurer le plug-in de validation du mot de passe.

À l'invite suivante, vous serez invité à définir un mot de passe pour l'utilisateur racine MySQL.

Une fois que vous avez défini le mot de passe root, le script vous demandera également de supprimer l'utilisateur anonyme, de restreindre l'accès des utilisateurs root à la machine locale et de supprimer la base de données de test. Vous devez répondre Y (oui) à toutes les questions.

Ensuite, nous devons changer la méthode d'authentification de auth_socket en mysql_native_password , afin que le programme d'installation de Ghost puisse accéder à notre serveur MySQL. Pour ce faire, connectez-vous au serveur MySQL en tant qu'utilisateur root:

sudo mysql

et exécutez la requête suivante qui définira un mot de passe pour l'utilisateur root MySQL lors de l'utilisation de la méthode mysql_native_password :

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_pasword'; FLUSH PRIVILEGES;

Assurez-vous de changer very_strong_pasword avec un mot de passe fort.

Installation de Ghost-CLI

Nous installerons Ghost à l'aide de l'utilitaire officiel Ghost CLI. Cet utilitaire vous permet d'installer ou de mettre à jour Ghost en une seule commande.

Ghost CLI est disponible en tant que package npm. La commande suivante installera Ghost CLI sur votre système Ubuntu globalement:

sudo yarn global add ghost-cli

Création de l'emplacement d'installation de Ghost

Nous allons télécharger et installer Ghost dans le répertoire /var/www/ghost , qui est l'emplacement d'installation recommandé.

Pour créer le type de répertoire:

sudo mkdir -p /var/www/ghost

Changez la propriété du répertoire pour votre utilisateur:

sudo chown $USER:$USER /var/www/ghost

$USER est une variable d'environnement qui contient votre nom d'utilisateur.

Définissez les autorisations de répertoire correctes:

sudo chmod 775 /var/www/ghost

Installation de Ghost

Maintenant que Ghost CLI est installé et que toutes les conditions préalables sont remplies, nous pouvons commencer l'installation.

Accédez au répertoire /var/www/ghost .

cd /var/www/ghost

Pour démarrer l'installation, lancez ghost install , qui installera et configurera Ghost, configurera Nginx comme proxy inverse et sécurisera le site avec un certificat SSL gratuit, chiffrons.

ghost install

✔ Checking system Node.js version ✔ Checking logged in user ✔ Checking current folder permissions System checks failed with message: 'Linux version is not Ubuntu 16' Some features of Ghost-CLI may not work without additional configuration. For local installs we recommend using `ghost install local` instead. ? Continue anyway? (y/N) y

Le programme d'installation vérifiera votre système et imprimera certains avertissements comme indiqué ci-dessus. Tapez y pour continuer et le programme d'installation téléchargera et installera ensuite Ghost:

ℹ Checking operating system compatibility ✔ Checking for a MySQL installation ✔ Checking memory availability ✔ Checking for latest Ghost version ✔ Setting up install directory ✔ Downloading and installing Ghost v1.24.9 ✔ Finishing install process

Ensuite, vous serez invité à définir l'URL de votre blog et vos informations MySQL. Fournissez le nom d'utilisateur et le mot de passe root que nous avons configurés dans la section Installing MySQL et utilisez le nom de base de données par défaut ghost_prod .

? Enter your blog URL: https://example.com ? Enter your MySQL hostname: localhost ? Enter your MySQL username: root ? Enter your MySQL password: ? Enter your Ghost database name: ghost_prod

Le programme d'installation créera un utilisateur système nommé ghost et vous demandera si vous souhaitez créer un utilisateur fantôme MySQL, tapez Yes .

✔ Configuring Ghost ✔ Setting up instance Running sudo command: chown -R ghost:ghost /var/www/ghost/content ✔ Setting up "ghost" system user ? Do you wish to set up "ghost" mysql user? Yes ✔ Setting up "ghost" mysql user

Ensuite, le programme d'installation vous demandera si vous souhaitez configurer Nginx. Confirmez en tapant Yes .

? Do you wish to set up Nginx? Yes ✔ Creating nginx config file at /var/www/ghost/system/files/example.com.conf Running sudo command: ln -sf /var/www/ghost/system/files/example.com.conf /etc/nginx/sites-available/example.com.conf Running sudo command: ln -sf /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf Running sudo command: nginx -s reload ✔ Setting up Nginx

Une fois Nginx configuré, le programme d'installation vous demandera si vous souhaitez configurer SSL. Confirmez en tapant Yes et l'assistant de configuration vous demandera d'entrer votre adresse e-mail, puis il générera un certificat SSL Let's Encrypt gratuit pour votre domaine et configurera Nginx.

? Do you wish to set up SSL? Yes ? Enter your email (used for Let's Encrypt notifications) [email protected] Running sudo command: mkdir -p /etc/letsencrypt Running sudo command:./acme.sh --install --home /etc/letsencrypt Running sudo command: /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt --domain example.com --webroot /var/www/ghost/system/nginx-root --reloadcmd "nginx -s reload" --accountemail [email protected] Running sudo command: openssl dhparam -out /etc/nginx/snippets/dhparam.pem 2048 Running sudo command: mv /tmp/ssl-params.conf /etc/nginx/snippets/ssl-params.conf ✔ Creating ssl config file at /var/www/ghost/system/files/example.com-ssl.conf Running sudo command: ln -sf /var/www/ghost/system/files/example.com-ssl.conf /etc/nginx/sites-available/example.com-ssl.conf Running sudo command: ln -sf /etc/nginx/sites-available/example.com-ssl.conf /etc/nginx/sites-enabled/example.com-ssl.conf Running sudo command: nginx -s reload ✔ Setting up SSL

Ensuite, le programme d'installation vous demandera si vous souhaitez configurer un service systemd. Tapez Y pour accepter et le programme d'installation créera un nouveau service systemd appelé ghost_example-com et lui permettra de démarrer au démarrage:

? Do you wish to set up Systemd? Yes ✔ Creating systemd service file at /var/www/ghost/system/files/ghost_example-com.service Running sudo command: ln -sf /var/www/ghost/system/files/ghost_example-com.service /lib/systemd/system/ghost_example-com.service Running sudo command: systemctl daemon-reload ✔ Setting up Systemd

Enfin, le programme d'installation configurera la base de données et vous demandera si vous souhaitez démarrer Ghost, tapez Yes .

Running sudo command: /var/www/ghost/current/node_modules/.bin/knex-migrator-migrate --init --mgpath /var/www/ghost/current ✔ Running database migrations ? Do you want to start Ghost? Yes Running sudo command: systemctl is-active ghost_example-com ✔ Ensuring user is not logged in as ghost user ✔ Checking if logged in user is directory owner ✔ Checking current folder permissions Running sudo command: systemctl is-active ghost_example-com ✔ Validating config ✔ Checking folder permissions ✔ Checking file permissions ✔ Checking content folder ownership ✔ Checking memory availability Running sudo command: systemctl start ghost_example-com ✔ Starting Ghost Running sudo command: systemctl is-enabled ghost_example-com Running sudo command: systemctl enable ghost_example-com --quiet ✔ Starting Ghost You can access your publication at https://example.com Next, go to your admin interface at https://example.com/ghost/ to complete the setup of your publication Ghost uses direct mail by default To set up an alternative email method read our docs at

Terminez la configuration de Ghost

Ouvrez votre navigateur, accédez à votre interface d'administration Ghost sur https://example.com/ghost/ et l'écran suivant vous sera présenté:

De là, vous pouvez créer de nouveaux articles, ajouter des utilisateurs et modifier la configuration de Ghosts.

Conclusion

Dans ce didacticiel, vous avez appris à installer une instance Ghost prête pour la production.

Vous devriez maintenant visiter la page d'aide de Ghost et en savoir plus sur la gestion de votre installation de Ghost. Vous pouvez également visiter le Ghost Marketplace et découvrir les thèmes Ghost.

blog fantôme nodejs npm ubuntu