Si vous avez atterri ici, c'est que vous êtes l'heureux propriétaire d'un Cloud Web de chez OVH, que vous avez essayé d'installer Ghost à partir de leur documentation et que vous n'êtes pas trop satisfait du résultat. On va donc tout reprendre point par point.

Prérequis

Avant toute chose faisons le point de ce qu'il nous faut :

  • Un abonnement Cloud Web bien-sûr, mais si vous possédez un Cloud Web 1 ou 2, vous ne pouvez avoir qu'un seul moteur d'exécution ! Si vous avez par exemple d'autres sites en PHP, vous devrez investir sur un Cloud Web 3 pour profitez d'un moteur supplémentaire pour exécuter du node. Cela dit vous pouvez exécuter du node sur votre Cloud Web 1, mais gardez bien en tête que tous vos autres sites devront être en node également.
  • Posséder quelques connaissances en développement. Des notions de base tout du moins, je ne pourrais pas tout détailler.
  • L'émulateur PuTTY pour donner des instructions à votre serveur en SSH. Vous pouvez trouver une version portable (aucune installation requise) sur PortableApps.com.
  • Un nom de domaine, c'est bien aussi.

Ajouter un moteur d'exécution node

Cliquer sur l'onglet "Moteurs d'exécution", supprimer le moteur par défaut si celui-ci est en PHP, puis "Actions > Ajouter un moteur d'exécution".
Renseigner les paramètres suivants :

Attention, cette configuration sera commune à tous vos sites. Pour palier à cette rigidité, nous personnaliserons les scripts de lancement avec les liens symboliques.

Ajouter un site

Cliquer sur l'onglet "Multisite", puis sur le bouton "Ajouter un domaine ou un sous-domaine". Sélectionner votre nom de domaine acquis au préalable. Pour l'étape d'après sélectionner le moteur d'exécution node, les options que vous désirez SAUF "Activer le firewall". Si vous faites ceci, vous ne pourrez pas mettre à jour votre blog (error 403 Forbidden).

Rendez-vous sur votre site, vous devez voir la page "en construction" d'OVH.
Jusqu'ici tout va bien.

Créer une base de données

Cliquer sur l'onglet "Base de données", puis "Actions > Créer une base de données". Sélectionnez une base Mysql. Conservez vos identifiants, vous allez devoir les renseigner dans l'étape suivante. A noter que Ghost fonctionne également avec SQLite3.

Créer les variables d'environnement

Pour des raisons évidentes de sécurité, vous n'allez pas stocker les identifiants de votre base de données dans un fichier sur votre serveur. Ghost se chargera de récupérer ces identifiants que vous allez définir dans votre interface Cloud Web.

Cliquer sur l'onglet "Variables d'environnement", et saisissez les variables suivantes :

  • database__client | string | mysql
  • database__connection__database | string | nomdevotrebase
  • database__connection__host | string | nomdevotrehost
  • database__connection__password | password | votremotdepasse
  • database__connection__user | string | nomutilisateur
  • server__host | string | 0.0.0.0
  • server__port | integer | 80

Installer Ghost

Pour installer Ghost, vous allez vous connecter à votre server avec un terminal. Lancer PuTTY, renseigner le "Host Name", sélectionner le type de connection "SSH", cliquer sur "Load". Une fenêtre va s'ouvrir, saisir votre mot de passe.
Pour information, vous avez reçu ces identifiants de connexion par mail à la création de votre compte. Vous pouvez également les retrouver en cliquant sur l'onglet "FTP - SSH".
Ouvrir le répertoire de votre nouveau site avec la commande suivante :

cd www/votresiteweb

Télécharger la dernière version de Ghost :

curl -s -LO https://github.com/TryGhost/Ghost/releases/download/3.15.3/Ghost-3.15.3.zip

Vous pouvez bien évidemment vous rendre sur GitHub pour récupérer la dernière release en cours.

Décompresser le fichier téléchargé :

unzip Ghost-3.15.3.zip

Supprimer le fichier le fichier zip :

rm Ghost-3.15.3.zip

Installer les dépendances :

npm-node11 install

A noter que pour lancer les commandes NPM vous utiliserez le nommage suivant à la place du traditionnel npm : "npm-node11". 11 étant le numéro de version de node que vous avez préalablement sélectionné.

Votre blog est désormais installé. Celui-ci ne va pas pour autant fonctionner en l'état. Pour ce faire, il vous reste à créer un lien symbolique du fichier "server.js" (renseigné plus haut) vers le point d'entrée de Ghost "index.js" :

ln -s index.js server.js

Retourner maintenant sur l'interface de votre Cloud Web, cliquer sur l'onglet "Multisite", redémarrer votre site.

Pour activer votre console admin, ouvrir l'url : https://votresiteweb.com/ghost/, il vous sera demandé de créer votre compte propriétaire.

Enjoy ^^