Installer Ghost sur son hébergement Cloud Web
Découvrez comment installer un blog avec le moteur Ghost sur Cloud Web
Découvrez comment installer un blog avec le moteur Ghost sur Cloud Web
Dernière mise à jour le 04/05/2022
Ghost est un moteur de blog open source. Il est conçu pour simplifier le processus de publication en ligne par des blogueurs ou journalistes. Ce logiciel est écrit en JavaScript et utilise Node.js, une plateforme logicielle permettant de créer vos sites et API en JavaScript côté serveur.
L'hébergement Cloud Web OVHcloud permet d'utiliser Node.js comme moteur d'exécution pour vos sites web et donc d'y installer et héberger Ghost ou toute autre application conçue pour Node.js.
Dans ce tutoriel, nous allons installer un blog avec Ghost sur un hébergement Cloud Web OVHcloud et le mettre à disposition derrière votre nom de domaine.
Découvrez comment installer un blog avec le moteur Ghost sur Cloud Web
Web Cloud
.Pour accéder aux moteurs d'exécution de votre hébergement Cloud Web, connectez-vous à votre espace client OVHcloud. Cliquez sur Hébergements
dans la barre de services à gauche, puis choisissez le nom de l'hébergement Cloud Web concerné. Positionnez-vous enfin sur l'onglet Moteurs d'exécution
.
Le tableau qui apparaît affiche les moteurs d’exécution ajoutés actuellement. Assurez-vous alors que le moteur d'exécution Node.js est bien activé. Si tel est le cas, poursuivez vers l'étape 2 « Associer Node.js à un multisite ».
Si ce n'est pas le cas, ajoutez-en un nouveau (si votre offre vous le permet) ou modifiez le moteur d'exécution existant.
Actions
au-dessus du tableau, puis sur Ajouter un moteur d'exécution
....
à droite du moteur concerné, puis sur Modifier
.Dans la fenêtre qui s'affiche, complétez les informations demandées avec les valeurs suivantes de notre exemple ou adaptez-les à votre situation personnelle.
Information | Valeur à renseigner |
---|---|
Nom personnalisé | NodeJS 8 |
Moteur d'exécution | nodejs-8 |
Chemin d'accès au répertoire public | public |
Environnement de l'application | production |
Script de lancement de l'application | server.js |
Une fois les informations complétées, cliquez sur Valider
. Si vous souhaitez obtenir plus d'informations sur la gestion des moteurs d'exécution, reportez-vous à notre guide « Gérer les moteurs d’exécution de Cloud Web ».
Maintenant que Node.js est activé en tant que moteur d'exécution, vous devez l'associer à l'un de vos multisites. Pour cela, positionnez-vous sur l'onglet Multisite
. Le tableau qui s’affiche contient tous les noms de domaine qui ont été ajoutés en tant que multisite.
Deux colonnes doivent retenir votre attention dans le tableau ci-dessus. Vérifiez alors que le moteur d'exécution Node.js est bien lié aux domaines concernés et que le dossier racine est correct. Aidez-vous des informations ci-dessous si nécessaire. Si tel est le cas, poursuivez vers l'étape 3 « Créer une base de données MySQL ».
Colonne | Description |
---|---|
Dossier racine | Il s'agit du dossier racine qui devra contenir le code source du domaine concerné (il correspond au « DocumentRoot »). Dans notre exemple, nous choisissons de spécifier « ghost ». Celui-ci devra donc contenir notre code source Node.js. |
Moteur d'exécution | Il s'agit du moteur d'exécution associé au domaine concerné. Le nom qui s’affiche correspond au « Nom personnalisé » que vous avez défini lors de la création du moteur d'exécution. Dans notre exemple, vous devriez retrouver « NodeJS 8 ». |
Si ce n'est pas le cas, ajoutez un nouveau multisite ou modifiez celui existant.
Ajouter un domaine ou sous-domaine
à droite du tableau....
à droite du nom de domaine concerné, puis sur Modifier
.Dans la fenêtre qui s'affiche, complétez les informations demandées selon votre situation personnelle. Le tableau ci-dessous montre celles utilisées pour ce tutoriel.
Information | Valeur utilisée en exemple pour ce tutoriel |
---|---|
Domaine | ghost.demo-nodejs.ovh |
Dossier racine | ghost |
Moteur d'exécution | NodeJS 8 |
En ce qui concerne les options supplémentaires, choisissez celles que vous souhaitez activer. Une fois les informations complétées, cliquez sur Suivant
, puis finalisez la manipulation. Cet ajout peut prendre jusqu’à une heure. Cependant, la modification de la configuration DNS peut prendre jusqu'à 24 heures avant d’être pleinement effective. Si vous souhaitez obtenir plus d'informations sur la gestion des multisites, reportez-vous à notre guide « Partager son hébergement entre plusieurs sites ».
Positionnez-vous maintenant sur l'onglet Bases de données
. Si celui-ci n'apparaît pas dans la liste, appuyez au préalable sur le bouton représentant trois barres. Le tableau affiche les bases de données déjà créées sur votre hébergement. Pour initier la création d’une nouvelle base de données, il existe deux possibilités :
si vous n’avez pas encore créé de base de données, cliquez sur le bouton Créer une base de données
;
si vous avez déjà créé une base de données, cliquez sur le bouton Actions
au-dessus du tableau, puis sur Créer une base de données
.
Dans la fenêtre qui s'affiche, Seul « MySQL » en version « 5.6 » est disponible. Sélectionnez ensuite « Stockée dans votre instance Cloud Web », puis cliquez sur Suivant
.
Personnalisez ensuite un nom d'utilisateur et définissez-lui un mot de passe. Une fois ceci fait, cliquez sur Suivant
. Confirmez alors la création de la base de données en cliquant sur Valider
. Patientez ensuite quelques minutes le temps que la manipulation se réalise.
Cette étape peut être facultative si vous ne souhaitez pas créer des variables d'environnement. Cependant, nous vous le recommandons fortement.
Pour ce tutoriel, nous allons créer des variables d'environnement dans lesquelles nous renseignerons les informations de connexion à notre base de données MySQL. Ainsi, si celles-ci évoluent, suite à une modification du mot de passe par exemple, nous devrons simplement modifier la valeur de la variable depuis l'espace client, plutôt que de devoir modifier le code source.
Pour cela, positionnez-vous sur l'onglet Variables d'environnement
. Le tableau affiche les variables déjà créées. Pour en ajouter une nouvelle, cliquez sur le bouton Actions
au-dessus du tableau, puis sur Ajouter une variable d'environnement
.
Dans la fenêtre qui s'affiche, complétez les informations demandées selon votre situation personnelle, puis cliquez sur le bouton Confirmer
pour créer la variable. Voici celles que nous avons créées pour ce tutoriel :
Nom | Type de variable | Valeur |
---|---|---|
database__connection__host | string | L'adresse du serveur MySQL |
database__connection__user | string | Le nom d'utilisateur MySQL choisi à sa création |
database__connection__database | string | Le nom de la base MySQL |
database__connection__password | password | Le mot de passe MySQL choisi à sa création |
database__client | string | mysql |
server__port | integer | 80 |
server__host | string | 0.0.0.0 |
Récupérez d'abord les informations vous permettant de vous connecter. Pour cela, positionnez-vous sur l'onglet FTP - SSH
. Si celui-ci n'apparaît pas dans la liste, appuyez au préalable sur le bouton représentant trois barres. Les informations liées à votre espace de stockage apparaissent alors. Repérez celles mentionnées à côté des éléments suivants :
Éléments | Description |
---|---|
Accès SSH au cluster | L'élément qui apparaît vous permet de récupérer deux informations : - l'adresse de serveur : elle débute après « ssh:// » et se termine avant les « : » ; - le port de connexion : le numéro est mentionné après les « : ». On pourrait par exemple retrouver : ssh:// sshcloud.cluster024.hosting.ovh.net :12345 /, donc « sshcloud.cluster024.hosting.ovh.net » en adresse de serveur et « 12345 » en port de connexion. |
Login SSH principal | Il s'agit de l'identifiant SSH principal créé sur votre hébergement. |
Si vous ne connaissez plus le mot de passe de l'utilisateur SSH, cliquez sur le bouton ...
à droite de l'utilisateur concerné dans le tableau, puis sur Changer le mot de passe
.
À présent, pour vous connecter en SSH, vous devez utiliser un terminal. Cet outil est installé par défaut sur macOS ou Linux. Un environnement Windows nécessitera l’installation d’un logiciel comme PuTTY ou l’ajout de la fonctionnalité « OpenSSH ». Cette démarche étant spécifique au système d’exploitation que vous utilisez, nous ne pouvons pas la détailler dans cette documentation.
Voici l'exemple d'une ligne de commande que vous pouvez utiliser. Remplacez les éléments « sshlogin », « sshserver » et « connectionport » par ceux adaptés à votre situation personnelle. Une fois la commande envoyée, vous serez invité à renseigner le mot de passe de l’utilisateur SSH.
ssh sshlogin@sshserver -p connectionport
Vous pouvez alors par exemple vérifier que les variables d'environnements créées lors de l'étape 4 sont bien présentes. Pour notre tutoriel, nous retrouvons alors :
demonon@cloudweb-ssh:~ $ env | grep "database_"
database__client=mysql
database__connection__host=demononghost.mysql.db
database__connection__user=demononghost
database__connection__password=ZuperZecure123
database__connection__database=demononghost
Commencez en vous plaçant dans le dossier racine spécifié lors de l'étape 2. Dans notre tutoriel, il s'agit du répertoire « ghost ».
demonon@cloudweb-ssh:~ $ ls -l
drwxr-xr-x 3 demonon demonon 4 Mar 6 16:53 ghost
drwx---r-x 3 demonon demonon 5 Mar 6 16:48 www
demonon@cloudweb-ssh:~ $ cd ghost/
demonon@cloudweb-ssh:~/ghost $
Récupérez la dernière version de Ghost et décompressez son contenu.
demonon@cloudweb-ssh:~/ghost $ ls
public server.js
demonon@cloudweb-ssh:~/ghost $ curl -s -LO https://github.com/TryGhost/Ghost/releases/download/2.16.4/Ghost-2.16.4.zip
demonon@cloudweb-ssh:~/ghost $ unzip Ghost-2.16.4.zip
Archive: Ghost-2.16.4.zip
creating: content/
creating: content/adapters/
inflating: content/adapters/README.md
creating: content/apps/
inflating: content/apps/README.md
....
demonon@cloudweb-ssh:~/ghost $ rm Ghost-2.16.4.zip
demonon@cloudweb-ssh:~/ghost $ ls
Gruntfile.js LICENSE MigratorConfig.js PRIVACY.md README.md content core index.js package.json public server.js yarn.lock
Ghost utilise Yarn, une alternative à npm, comme gestionnaire de dépendances Node.js. Installez Yarn via npm, et ajoutez ces binaires dans votre « PATH » :
demonon@cloudweb-ssh:~/ghost $ npm-node8 install yarn
npm notice created a lockfile as package-lock.json. You should commit this file.
+ yarn@1.13.0
added 1 package and audited 1 package in 2.893s
found 0 vulnerabilities
demonon@cloudweb-ssh:~/ghost $ export PATH=$PATH:/usr/local/nodejs8/bin/:~/ghost/node_modules/.bin/
demonon@cloudweb-ssh:~/ghost $ node --version
v8.15.0
demonon@cloudweb-ssh:~/ghost $ yarn --version
1.13.0
Vous pouvez persister ces changements dans votre « PATH » en ajoutant l'export dans le fichier « ~/.profile » :
demonon@cloudweb-ssh:~ $ echo "export PATH=$PATH:/usr/local/nodejs8/bin/:~/ghost/node_modules/.bin/" >> ~/.profile
Installez ensuite les dépendances de Ghost en utilisant Yarn :
demonon@cloudweb-ssh:~/ghost $ yarn install
yarn install v1.13.0
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
[5/5] Building fresh packages...
success Saved lockfile.
Done in 269.89s.
Toujours positionné dans le dossier « ~/ghost », créez un fichier config.production.json
contenant la configuration de Ghost :
{
"url": "http://ghost.demo-nodejs.ovh",
"paths": {
"contentPath": "content/"
}
}
Faites pointer ensuite le fichier server.js
(défini lors de l'étape 1) vers le fichier index.js
de Ghost :
demonon@cloudweb-ssh:~/ghost $ unlink server.js
demonon@cloudweb-ssh:~/ghost $ ln -s index.js server.js
L'installation et la configuration de Ghost sont maintenant terminées. Il ne vous reste plus qu'à redémarrer le daemon Node.js pour qu'il prenne en compte les changements effectués dans le dossier « ~/ghost ».
Pour redémarrer le daemon Node.js, retournez sur votre espace client OVHcloud. Positionnez-vous sur l'onglet Multisite
, cliquez à droite du nom de domaine concerné sur le bouton ...
à droite, puis sur Redémarrer
Une fois ceci fait, l'application sera accessible via le nom de domaine choisi dans la configuration de votre multisite.
Pour plus de sécurité sur votre site, vous pouvez mettre en place une redirection HTTP vers HTTPS. Pour ce faire, toujours positionné dans le dossier ghost
, créez un fichier .htaccess
avec le contenu suivant :
RewriteCond %{ENV:HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Nous avons vu comment installer une application Node.js sur un hébergement Cloud Web en respectant les différentes étapes. Il ne vous reste plus qu'à utiliser Ghost et y publier vos premiers contenus !
Installer son site avec les modules en 1 clic
Partager son hébergement entre plusieurs sites
Pour des prestations spécialisées (référencement, développement, etc), contactez les partenaires OVHcloud.
Si vous souhaitez bénéficier d'une assistance à l'usage et à la configuration de vos solutions OVHcloud, nous vous proposons de consulter nos différentes offres de support.
Échangez avec notre communauté d'utilisateurs sur https://community.ovh.com.
N’hésitez pas à nous proposer des suggestions d’amélioration afin de faire évoluer cette documentation.
Images, contenu, structure… N’hésitez pas à nous dire pourquoi afin de la faire évoluer ensemble !
Vos demandes d’assistance ne seront pas traitées par ce formulaire. Pour cela, utilisez le formulaire "Créer un ticket" .
Merci beaucoup pour votre aide ! Vos retours seront étudiés au plus vite par nos équipes..
Accedez à votre espace communautaire. Posez des questions, recherchez des informations, publiez du contenu et interagissez avec d’autres membres d'OVHcloud Community.
Echanger sur OVHcloud Community