Comment installer et configurer Ghost sur Ubuntu 16.04

Une version précédente de ce tutoriel a été écrite parKevin Isaac

introduction

Ghost est une plate-forme de blogs open source légère. Ghost est entièrement personnalisable, avec de nombreux thèmes disponibles.

Dans ce didacticiel, vous allez configurer une instance Ghost prête pour la production sur Ubuntu 16.04 à l'aide de l'assistant d'installation officiel deghost-cli. Cela installera Ghost, configurera Nginx pour les requêtes proxy vers Ghost, le sécurisera avec un certificatLet’s Encrypt et configurera Ghost pour qu'il s'exécute en arrière-plan en tant que service système.

Conditions préalables

Pour compléter ce tutoriel, vous aurez besoin de:

[[step-1 -—- Installing-the-ghost-cli-application]] == Étape 1 - Installation de l'application Ghost CLI

Nous installerons Ghost à l'aide du programme officielghost-cli. Ce programme installe Ghost, crée l'utilisateur MySQL et la base de données MySQL, configure Nginx en tant que proxy inverse et sécurise le site à l'aide du cryptage SSL / TLS.

Tout d'abord, téléchargezghost-cli en utilisantnpm:

sudo npm i -g ghost-cli

Nous placerons Ghost dans le répertoirevar/www/ghost, qui est l'emplacement d'installation recommandé. Créez ce répertoire:

mkdir /var/www/ghost

Assurez-vous ensuite que votre utilisateur possède ce répertoire.

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

Le répertoire/var/www/ghost doit avoir des autorisations complètes pour votre utilisateur et des autorisations de lecture et d'exécution pour tous les autres, définissez donc les autorisations avec la commande suivante:

sudo chmod 775 /var/www/ghost

Avec la CLI installée et le répertoire en place, nous pouvons configurer notre blog.

[[step-2 -—- installation-and-configuring-ghost]] == Étape 2 - Installation et configuration de Ghost

L'application Ghost CLI dispose d'un assistant d'installation qui vous guidera à travers toutes les étapes pour configurer un blog Ghost en état de marche.

Basculez vers le répertoire/var/www/ghost/.

cd /var/www/ghost/

Utilisez ensuite la commandeghost pour installer Ghost. Il va configurer Ghost pour utiliser MySQL comme base de données par défaut. Bien que vous puissiez utiliser d'autres bases de données, MySQL est le choix recommandé pour les configurations de production.

ghost install

Le programme d’installation vérifiera d’abord que vous avez installé les conditions préalables requises, puis téléchargera et installera Ghost:

Output✔ Checking system Node.js version
✔ Checking logged in user
✔ Checking current folder permissions
✔ 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.22.2
✔ Finishing install process

Une fois le processus d'installation terminé, vous serez invité à indiquer l'URL de votre blog, ainsi que les informations de votre base de données MySQL. Indiquez le nom d'utilisateur et le mot de passe deroot à cette étape. Pour le nom de la base de données, vous pouvez utiliser la valeur par défaut deghost_prod.

Output? Enter your blog URL: http://example.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: [hidden]
? Enter your Ghost database name: ghost_prod

L'assistant de configuration créera alors un utilisateur systèmeghost et vous demandera s'il doit créer un utilisateur MySQLghost, ce que vous devez autoriser:

Output✔ Configuring Ghost
✔ Setting up instance
Running sudo command: useradd --system --user-group ghost
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, il vous demandera si vous souhaitez configurer Nginx. Confirmez ceci et le programme d'installation créera le bloc de serveur proxy inverse approprié pour votre blog:

Output? Do you wish to set up Nginx? Yes
✔ Creating nginx config file at /var/www/ghost/system/files/example.con.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

Ensuite, vous serez invité à configurer la prise en charge de SSL. Si vous utilisez un nom de domaine complet enregistré et que vous avez configuré vos paramètres DNS pour qu'ils pointent vers l'adresse IP de votre serveur, appuyez surY pour continuer.

Output? Do you wish to set up SSL? Yes

Votre adresse e-mail vous sera demandée, puis le certificat sera installé.

Output? 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: 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, l’assistant de configuration vous invitera à configurer un service systemd. Appuyez surY pour continuer et l'assistant créera un nouveau service systemd appeléghost_example-com et lui permettra de démarrer au démarrage:

Output? 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, l'assistant configurera votre base de données et vous demandera s'il doit démarrer Ghost, ce que vous devez autoriser en appuyant surY:

OutputRunning 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

Votre blog Ghost est maintenant installé et prêt à être utilisé. Vous pouvez accéder à votre blog à l'adressehttp://example.com. Créons maintenant un compte pour pouvoir créer votre premier message.

[[step-3 -—- creation-an-account-and-configuration-your-blog]] == Étape 3 - Création d'un compte et configuration de votre blog

Pour vous connecter et configurer votre blog, visitezhttp://example.com/login. Vous serez accueilli avec l’écran suivant:

Welcome screen

Appuyez sur le boutonCreate your account pour commencer.

Vous verrez l'écranCreate your account, qui vous demande le titre de votre blog, ainsi que votre nom, votre adresse e-mail et un mot de passe:

Create account screen

Remplissez les détails et appuyez sur le boutonLast step: Invite your team.

L'assistant vous demandera de saisir les adresses e-mail des autres collaborateurs, mais vous pouvez sélectionner le lienI’ll do this later en bas de l'écran.

Vous verrez alors une liste de publications, que Ghost appelle des histoires:

List of stories

Le menu de gauche vous permet de créer un nouveau récit ou de gérer les autres paramètres de votre blog. Consultez lesofficial documentation pour en savoir plus.

Conclusion

Dans ce didacticiel, vous avez installé Ghost, configuré Nginx pour envoyer des requêtes proxy à Ghost et vous êtes assuré que Ghost s'exécute en tant que service système. Ghost vous permet toutefois de faire beaucoup plus. Jetez un coup d'œil à ces tutoriels pour en savoir plus sur l'utilisation de votre nouveau blog:

Related