/ ghost

Installer Ghost 1.15.1 avec Nginx, Let's encrypt et systemd

Ghost 1.15.1 est sorti récemment, ce blog tourne d'ailleurs dessus. Avec le thème Casper 2.0, un nouvel éditeur, bref, pas mal de nouveaux trucs.

Une application est disponible pour nous aimer: ghost-cli. Ce dernier est fait en Node.js, donc il faut installer ce dernier:

curl -sL https://deb.nodesource.com/setup_6.x | sudo bash -
sudo apt install nodejs npm nginx
sudo apt-mark hold nginx

Puis une fois Node.js et npm installé, on installe enfin ghost-cli:

sudo npm i -g ghost-cli

On va en suite installer Nginx (avec le script d'Angristan, merci à lui):

cd /tmp
wget https://raw.githubusercontent.com/Angristan/nginx-autoinstall/master/nginx-autoinstall.sh
sudo bash nginx-autoinstall.sh

Répondez "y" partout, et attendez un peu.

MySQL est necessaire, donc il faut l'installer et le configurer si ce n'est pas déjà fait:

sudo apt-get install mysql-server
mysql -uroot -p
mysql> CREATE USER 'ghost'@'localhost' IDENTIFIED BY 'changezmoimondieu';
mysql> CREATE DATABASE ghost_production;
mysql> GRANT ALL ON ghost_production.* TO 'ghost'@'%';
mysql> FLUSH PRIVILEGES;

On va maintenant créer un utilisateur pour Ghost et lui donner les droits sudo, se connecter sous cet utilisateur:

sudo adduser ghost
usermod -aG sudo ghost
su - ghost

Et maintenant l'installation en soit:

sudo mkdir /opt/ghost -p
sudo chown ghost:ghost /opt/ghost
cd /opt/ghost
ghost install

Et laissez vous guider par le script, répondez oui au setup d'Nginx et de l'HTTPS, et répondez oui au setup de systemd.

Une fois cela fait, ghost ls, et vous devrez avoir une sortie du type:
Capture-du-2017-07-22-21-07-32

On va un peu changer la configuration de TLS de Ghost, car elle est un peu bof: vim /etc/nginx/

Démarrez Nginx si ce n'est pas fait:

sudo systemctl start nginx

Accédez à https://votre.domaine/ghost/ pour créer votre compte, accéder à la configuration, et surtout l'éditeur !