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