====== 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.