Encriptem (Certbot)
Instal·leu NodeJS
Instal·leu Nginx
Instal·leu Ghost
Executeu Ghost de manera persistent
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.
En aquesta guia, configurarem i desplegarem un bloc Ghost segur en un VPS CentOS 7 mitjançant Let's Encrypt, Node.js i Nginx.
Encriptem (Certbot)
Abans de començar aquest pas, assegureu-vos que hàgiu establert registres DNS per al vostre domini.
Utilitzarem Let's Encrypt Certificate Authority i el seu client Certbot per obtenir certificats TLS per al nostre bloc Ghost. No oblideu substituir totes les instàncies de example.compel vostre nom de domini.
Actualització del sistema:
yum check-update && yum update
Instal·leu eines de desenvolupament:
yum groupinstall -y 'Development Tools'
Habiliteu el repositori EPEL (Paquets addicionals per a Enterprise Linux).
# Certbot is packaged in EPEL (Extra Packages for Enterprise Linux). To use Certbot, you must first enable the EPEL repository.
yum install -y epel-release
Instal·leu Certbot (també conegut com a client Let's Encrypt):
yum install -y certbot
Comprova la versió:
certbot --version
# certbot 0.9.3
Obtenir el certificat:
certbot certonly -d example.com -d www.example.com --email john.doe@mail.com --agree-tos --standalone
Després de seguir els passos anteriors, el vostre certificat i clau privada estaran al /etc/letsencrypt/live/example.comdirectori.
Instal·leu NodeJS
Actualment, Ghost només admet les versions de Node 0.12.x , 4.2+ i 6.9+ .
Instal·larem la versió recomanada per a Ghost que es troba Node v4.x argon LTSen el moment d'escriure aquest article.
Baixeu i instal·leu la versió LTS de Node.js:
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum --disablerepo "*" --enablerepo "nodesource" install -y nodejs
Comproveu la versió de Node i NPM:
node -v && npm -v
# v4.7.2
# 2.15.11
Instal·leu Nginx
Executeu vi /etc/yum.repos.d/nginx.repoi copieu/enganxeu les instruccions següents i deseu i sortiu:
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
Baixeu i instal·leu Nginx:
yum install -y nginx
Comproveu la versió de Nginx:
nginx -v
# nginx version: nginx/1.11.8
Inicieu el procés de Nginx i comproveu l'estat:
systemctl start nginx
systemctl status nginx
Configureu Nginx com a servidor intermediari invers:
vi /etc/nginx/conf.d/ghost.conf
Afegiu 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;
}
}
Comprova la sintaxi:
nginx -t
Reinicieu Nginx:
systemctl restart nginx
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 usuari Ghost:
useradd -c "Ghost Application" ghost
Baixeu i instal·leu Ghost:
cd /var/www
wget https://ghost.org/zip/ghost-latest.zip
unzip ghost-latest.zip -d ghost
chown -R ghost:ghost /var/www/ghost/
rm ghost-latest.zip
Canvia a l' ghostusuari:
su - ghost
Instal·leu Ghost:
cd /var/www/ghost
npm install --production
Configureu Ghost canviant la urlpropietat de l' productionobjecte dins del config.jsfitxer:
cp config.example.js config.js
vi config.js
config = {
// ### Production
// When running Ghost in the wild, use the production environment.
// Configure your URL and mail settings here
production: {
url: 'https://example.com',
...
}
...
...
Desa el config.jsfitxer i surt.
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.
Executeu Ghost de manera persistent
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 Forever. Això mantindrà el nostre bloc obert les 24 hores del dia.
Canvia a ghostusuari si no ets:
su - ghost
Vés a la ghostcarpeta
cd /var/www/ghost
Instal·leu el gestor de processos Forever:
npm install forever
Afegiu la nova forevercomanda al vostre camí:
echo "export PATH=/var/www/ghost/node_modules/forever/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
Comença a Ghost amb per sempre:
NODE_ENV=production /var/www/ghost/node_modules/forever/bin/forever start index.js
En aquest punt, foreverhauria d'haver començat Ghost.
Aneu a https://example.com/ghosti creeu un compte d'administrador de Ghost. Feu-ho tan aviat com sigui possible. Per comprovar la versió en execució de Ghost, aneu a https://example.com/ghost/about/després de crear el compte d'administrador.
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.