Ghost

Moteur de blog en NodeJS permettant de rédiger très simplement des billets de blog.

Pré-requis

Ghost demande nodejs et npm. Sous Debian Wheezy il faut procéder ainsi :

echo "deb http://ftp.us.debian.org/debian wheezy-backports main" >> /etc/apt/sources.list
apt-get update
apt-get install nodejs-legacy
curl --insecure https://www.npmjs.org/install.sh | bash

Il faut également le paquet build-essential :

sudo apt-get install build-essential

Nous pouvons ensuite télécharger le fichier zip contenant la dernière version de Ghost :

mkdir ghost && cd ghost
wget https://ghost.org/zip/ghost-latest.zip
sudo apt-get install unzip
unzip ghost-latest.zip

Configuration

Il faut copier le fichier config.example.js en config.js et compléter la configuration, par exemple pour le mode production :

production: {
    url: 'http://ghost.domaine.tld',
    mail: {
          transport: 'SMTP',
          options: {
              service: 'Gmail',
              auth: {
                  user: 'monadresse@gmail.com', // username
                  pass: 'mot2passe'  // password
              }
          }
    },
    database: {
        client: 'sqlite3',
        connection: {
            filename: path.join(__dirname, '/content/data/ghost.db')
        },
        debug: false
    },
    server: {
        // Host to be passed to node's `net.Server#listen()`
        host: '0.0.0.0',
        // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
        port: '2368'
    }
},

Remplacez ghost.domaine.tld par votre nom de domaine et adaptez monadresse@gmail.com et mot2passe.

Plus d’infos sur la configuration courriel dans Ghost (en) .

Installation

Une fois les pré-requis installés et la configuration faites, tentons l’installation :

npm install --production

puis on teste :

NODE_ENV='production' npm start

On va sur le site indiqué et on teste le résultat. Si tout est bon, faites Ctrl + C pour couper le processus.

Après quoi on peut tenter un démarrage via supervisor :

sudo supervisorctl start ghost

Avec Docker

Il suffit d’utiliser l’image officielle Ghost, suivant cette page : https://registry.hub.docker.com/_/ghost/

Puis de lancer la création d’une instance Docker comme suit :

docker run --name mydocker -d -p 2368:2368 -e VIRTUAL_HOST=mydocker.domain.tld -e NODE_ENV=production -v /srv/www/domain/mydocker/content/:/usr/src/ghost/content -v /srv/www/domain/mydocker:/var/lib/ghost ghost

Liens utiles