Table des matières
Installer Ghost sur une instance Simple Hosting NodeJS / MySQL
Nous verrons dans ce tutoriel comment installer en quelques minutes Ghost sur une instance Simple Hosting NodeJS / MySQL.
Dans ce tutoriel, nous utiliserons le CLI Gandi pour simplifier l'installation et le déploiement, pour l'installer et le configurer, vous pouvez vous rendre à l'adresse http://cli.gandi.net
Création de l'instance et préparation de l'installation
Dans un premier temps, nous créons l'instance :
$ gandi paas create --name Ghost --type nodejsmysql --duration 1m password: Repeat for confirmation: Creating your PaaS instance.
Nous clonons ensuite le dépôt (qui sera vide étant donné que nous venons de créer l'instance) :
$ gandi paas clone Ghost
On se rend ensuite dans le répertoire 'default' où doit se trouver l'application, puis on télécharge et décompresse depuis le site officiel de Ghost.
$ cd default $ wget https://github.com/TryGhost/Ghost/releases/download/0.11.9/Ghost-0.11.9.zip $ unzip Ghost-0.11.9.zip && rm Ghost-0.11.9.zip
Ghost conseille la dernière version LTS de Node qu'il est possible de définir avec le fichier .nvmrc :
$ echo "4.5.0" > .nvmrc
Création de la base de donnée et de l'utilisateur associé
Nous allons maintenant nous connecter à l'instance en console afin de créer la base de donnée et l'utilisateur Ghost :
$ gandi paas console Ghost hosting-user@Ghost:~$ mysql -u root mysql> CREATE DATABASE ghost; Query OK, 1 row affected (0.01 sec) mysql> CREATE USER ghost; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL ON ghost.* to 'ghost'@'localhost' identified by 'RRTCPDK%'; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
Configuration de Ghost
Nous copions le fichier de configuration d'exemple fournit par Ghost :
$ cp config.example.js config.js
Puis nous éditons le fichier afin de :
- Écouter sur le socket MySQL, définir l'utilisateur, le mot de passe et le nom de la base de donnée
- Indiquer l'adresse du site
- Définir le port d'écoute sur 8080
production: { url: 'http://38bc76daec.url-de-test.ws', mail: {}, database: { client: 'mysql', connection: { socketPath : '/srv/run/mysqld/mysqld.sock', user : 'ghost', password : 'RRTCPDK%' , database : 'ghost', charset : 'utf8' }, debug: false }, server: { // Host to be passed to node's `net.Server#listen()` host: '127.0.0.1', // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT` port: '8080' } },
Déploiement de l'application
Nous sommes désormais prêt pour le déploiement de l'application sur l'instance :
$ git add . $ git commit -am "First commit with Ghost source files and setup" $ git push origin master $ gandi deploy
Une fois ceci effectué, votre application devrait alors être disponible à l'adresse que vous avez indiqué. Dans cet exemple, nous n'avons pas déclaré de nouvel hôte virtuel mais utilisé celui fourni par défaut à la création de l'instance.