Ghost est une plateforme de blogs gratuite et open source écrite en node.js , entièrement personnalisable et dédiée à la publication.
Préparez le serveur: mettez à jour les packages, installez Node.js et NPM
Nous allons démontrer l'installation en vous connectant au serveur en tant que root
, afin que nous n'ayons pas besoin d'ajouter sudo
avant chaque commande. Si vous êtes connecté en tant qu'autre utilisateur, n'oubliez pas que vous en aurez besoin sudo
.
Sur votre serveur, exécutez ce qui suit pour mettre à jour l'index des packages, mettre à niveau les packages et installer nodejs
et npm
.
apt-get update
apt-get upgrade
apt-get install python software-properties-common gcc g++ make -y # auto install
add-apt-repository ppa:chris-lea/node.js -y
La sortie de ces commandes doit être similaire à:
gpg: keyring `/tmp/tmpvpe2ugzj/secring.gpg' created
gpg: keyring `/tmp/tmpvpe2ugzj/pubring.gpg' created
gpg: requesting key C7917B12 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpvpe2ugzj/trustdb.gpg: trustdb created
gpg: key C7917B12: public key "Launchpad chrislea" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK
Automatiquement, la clé de signature du package sera ajoutée au trousseau de clés (afin que les packages téléchargés puissent être vérifiés), et le PPA sera ajouté aux APT sources.list.d
.
Maintenant, exécutons:
apt-get update # again
apt-get install nodejs -y
Exécutez npm
pour tester l'installation. Vous verrez son npm
utilisation imprimée à l'écran:
Usage: npm <command>
...
...
[email protected] /usr/lib/node_modules/npm
Nous pouvons maintenant installer Ghost.
Installation: Ghost et Nginx
Puisque Ghost est maintenant considéré comme "stable", il peut être installé via npm
. Installez avec la commande suivante:
npm install -g ghost --production
Ignorez les avertissements pour l'instant.
Ensuite, nous allons démarrer Ghost et vérifier si cela fonctionne correctement.
cd /usr/lib/node_modules/ghost
npm start --production
La sortie devrait ressembler à ceci:
> [email protected] start /usr/lib/node_modules/ghost
> node index
Migrations: Database initialisation required for version 003
...
Migrations: Complete
Ghost is running...
Your blog is now available on http://my-ghost-blog.com
Ctrl+C to shut down
Ça marche! Utilisez Ctrl-C pour arrêter Ghost et passez à l'étape suivante: installer (et configurer) Nginx.
Nginx est très simple à installer. Exécutez la commande suivante:
apt-get install nginx
Nginx sera configuré pour autoriser la connexion de n'importe où dans la nature au port 80 (ou 443, si vous utilisez SSL ) sur votre serveur, qui est ensuite transmis (" mandaté ") à Ghost. C'est ainsi que les gens se connectent à votre blog.
Configurer Nginx n'est pas si difficile non plus. Suivez ces étapes pour configurer le proxy Ghost.
Tout d'abord, supprimez le fichier de configuration par défaut:
cd /etc/nginx/
rm sites-enabled/default
Ensuite, créez un nouveau fichier de configuration:
cd sites-available
touch ghost
Adaptez les lignes suivantes à votre besoin et utilisez quelque chose comme nano
ou vi
pour le coller (vous devrez définir server_name
votre nom de domaine):
server {
listen 80;
server_name yourdomain.tld;
access_log /var/log/nginx/yourdomain.tld.log; # if you want logging
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_pass http://127.0.0.1:2368;
proxy_redirect off;
}
}
Créez un lien symbolique vers votre fichier de configuration:
cd /etc/nginx
ln -s sites-available/ghost sites-enabled/ghost
Redémarrez Nginx:
service nginx restart
À ce stade, Nginx est installé, configuré et exécuté sur votre serveur.
Enfin: démarrez Ghost automatiquement
Supervisor est un système de contrôle de processus qui vous permet d'exécuter Ghost au démarrage sans utiliser de scripts d'initialisation. Nous allons installer Supervisor pour gérer Ghost.
Pour installer Supervisor, exécutez:
apt-get install supervisor
service supervisor start
Ensuite, créez un nouveau fichier de script dans /etc/supervisor/conf.d/ghost.conf
. Collez ces contenus:
[program:ghost]
command = node /usr/lib/node_modules/ghost/index.js
directory = /usr/lib/node_modules/ghost
user = ghost
autostart = true
autorestart = true
stdout_logfile = /var/log/supervisor/ghost.log
stderr_logfile = /var/log/supervisor/ghost_err.log
environment = NODE_ENV="production"
Enregistrez et fermez le fichier.
Ensuite, nous devons créer un utilisateur pour Ghost et lui donner des autorisations pour accéder aux fichiers et à la base de données Ghost. Exécutez les commandes suivantes:
useradd ghost
chown -R ghost /usr/lib/node_modules/ghost/
supervisorctl reread
supervisorctl update
Notre configuration est terminée!
Vous pouvez maintenant contrôler Ghost en exécutant supervisorctl start ghost
et supervisorctl stop ghost
.