Requisits
Anem a xifrar
Instal·leu NodeJS
Instal·leu Nginx
Instal·leu Ghost
Instal·leu PM2
Conclusió
Ghost és una plataforma de blocs de codi obert que està guanyant popularitat entre desenvolupadors i usuaris normals des del seu llançament el 2013. Es centra en el contingut i els blocs . El més atractiu de Ghost és el seu disseny senzill, net i sensible. Podeu escriure les publicacions del vostre bloc des d'un telèfon mòbil. El contingut de Ghost s'escriu amb el llenguatge Markdown. Ghost s'adapta perfectament a persones o grups reduïts d'escriptors.
En aquesta guia, configurarem i desplegarem un bloc Ghost segur en un VPS Fedora 25 mitjançant Let's Encrypt , Certbot , Node.js , Nginx i PM2 .
Requisits
- Instància del servidor Fedora 25 amb un mínim d' 1 GB de RAM .
- Probablement haureu d'obrir el port 2368 amb
semanage port -a -t http_port_t -p tcp 2368.
Anem a xifrar
Abans de començar aquest pas, assegureu-vos que hàgiu establert registres DNS per al vostre domini.
Utilitzarem Let's Encrypt CA i el client Certbot d'EFF per obtenir el certificat TLS per al nostre bloc Ghost. No oblideu substituir totes les instàncies de example.compel vostre nom de domini.
Actualització del sistema:
dnf check-update || dnf upgrade -y
Instal·leu les eines necessàries:
dnf install @development-tools -y
Instal·leu Certbot (també conegut com a client Let's Encrypt):
dnf install certbot -y
Comproveu la versió de Certbot:
certbot --version
# certbot 0.12.0
Obteniu un certificat mitjançant el mode autònom:
certbot certonly --standalone --domains example.com,www.example.com --email john.doe@example.com --agree-tos --rsa-key-size 2048
Després de seguir els passos anteriors, el vostre certificat i clau privada estaran al /etc/letsencrypt/live/example.comdirectori.
Instal·leu NodeJS
Ghost currently supports Node versions 0.12.x, 4.2+, and 6.9+ only.
Instal·larem la versió compatible per a Ghost que es troba v6 Boron LTSen el moment d'escriure aquest article.
Baixeu i instal·leu la darrera versió LTS de Node.js:
dnf install nodejs -y
Comproveu la versió de Node i NPM:
node -v && npm -v
# v6.10.2
# 3.10.10
Instal·leu Nginx
Baixeu i instal·leu Nginx:
dnf install nginx -y
Comproveu la versió de Nginx:
nginx -v
# nginx version: nginx/1.10.2
Inicieu i activeu el servei Nginx:
systemctl start nginx.service && systemctl enable nginx.service
Configureu Nginx com a servidor intermediari invers:
vi /etc/nginx/conf.d/ghost.conf
Enganxeu el següent a /etc/nginx/conf.d/ghost.conf:
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:2368;
}
}
Comproveu la sintaxi de Nginx:
nginx -t
Torneu a carregar la configuració de Nginx:
systemctl reload nginx.service
Instal·leu Ghost
Si voleu allotjar diversos blocs de Ghost al mateix VPS , cada instància de Ghost s'ha d'executar en un port independent.
Fer webrootdirectori:
mkdir -p /var/www/
Crea un nou usuari fantasma:
useradd -c "Ghost Application" ghost
Descarrega Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.8/Ghost-0.11.8.zip -o ghost.zip
Descomprimiu Ghost:
unzip -uo ghost.zip -d /var/www/ghost
rm -f ghost.zip
Navegueu a l'arrel web:
cd /var/www/ghost
Canvieu la propietat del directori arrel web:
chown -R ghost:ghost .
Canvia a un nou usuari fantasma:
su - ghost
Navegueu a l'arrel web:
cd /var/www/ghost
Instal·leu Ghost:
npm install --production
Configureu Ghost canviant urli mailpropietat de l' productionobjecte dins del config.jsfitxer:
cp config.example.js config.js
vi config.js
var path = require('path'),
config;
config = {
// ### Production
// When running Ghost in the wild, use the production environment.
// Configure your URL and mail settings here
production: {
url: 'https://example.com',
mail: {
options: {
service: '',
auth: {
user: '',
pass: ''
}
}
},
. . .
. . .
},
}
. . .
. . .
NOTE: You should configure mail also. Consult the official Ghost documentation on how to do that.
Ghost d'inici:
npm start --production
Ghost ara s'executarà. Tant el front-end del bloc com la interfície d'administració estan protegits amb HTTPS i HTTP/2 també funciona. Podeu obrir el vostre navegador i visitar el lloc a https://example.com. No oblidis substituir-lo example.compel teu nom de domini.
Tanqueu el procés Ghost prement CTRL+ Ci sortiu de l'usuari fantasma de nou a l'usuari root:
exit
Instal·leu PM2
Si tanqueu la sessió del terminal amb el vostre VPS , el vostre bloc també baixarà. Això no és bo. Per evitar-ho, utilitzarem el gestor de processos PM2 . Mantindrà el nostre bloc obert les 24 hores del dia.
Instal·leu la darrera versió estable del gestor de processos PM2:
npm install -g pm2@latest
Comproveu la versió PM2:
pm2 -v
# 2.4.6
Torneu a canviar a l'usuari fantasma:
su - ghost
Estableix NODE_ENVla variable d'entorn a producció:
echo "export NODE_ENV=production" >> ~/.bashrc && source ~/.bashrc
Inicieu (demonitzar) l'aplicació Ghost amb PM2:
pm2 start /var/www/ghost/index.js --name "Ghost Blog"
Navegueu https://example.com/ghost/i creeu un usuari administrador de Ghost. Feu-ho tan aviat com sigui possible.
Conclusió
Això és. Ara tenim un bloc Ghost totalment funcional. Si voleu canviar el tema de Ghost predeterminat anomenat Casper per un de personalitzat, només podeu descarregar i descomprimir el tema a la /var/www/ghost/content/themescarpeta i seleccionar-lo mitjançant la interfície d'administració de Ghost, ubicada a https://example.com/ghost.