Ghost è una piattaforma di blog open source che sta guadagnando popolarità tra gli sviluppatori e gli utenti ordinari dalla sua versione del 2013. Si concentra su contenuti e blog . La cosa più interessante di Ghost è il suo design semplice, pulito e reattivo. Puoi scrivere i post del tuo blog da un telefono cellulare. Il contenuto per Ghost è scritto usando il linguaggio Markdown.
In questa guida installeremo e distribuiremo il blog Ghost su un Debian 8.7 VPS usando Let's Encrypt, Node.js e Nginx.
Let's Encrypt (Certbot)
Prima di iniziare questo passaggio, assicurati di aver impostato i record DNS per il tuo dominio.
-
Sistema di aggiornamento:
apt update && apt upgrade -y
-
Installa gli strumenti necessari:
apt install -y zip build-essential
-
Abilitare il repository backport Jessie. Esegui apt edit-sourcese incolla la riga seguente alla fine del /etc/apt/sources.listfile:
# Copy/Paste the below line at the end of file
deb http://ftp.debian.org/debian jessie-backports main
-
Aggiorna fonti pacchetto:
apt update
-
Installa Certbot (aka client Let's Encrypt):
apt install -y certbot -t jessie-backports
-
Controlla la versione:
certbot --version
# certbot 0.9.3
-
Ottieni certificato:
certbot certonly -d example.com -d www.example.com --email john.doe@mail.com --agree-tos --standalone
Dopo aver eseguito i passaggi precedenti, il certificato e la chiave privata saranno nella /etc/letsencrypt/live/example.comdirectory.
Installa NodeJS
Ghost attualmente supporta solo le versioni Node 0.12.x , 4.2+ e 6.9+ .
Installeremo la versione consigliata per Ghost che è v4 argon LTSal momento in cui scrivo.
-
Scarica e installa la versione LTS di Node.js:
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
apt install -y nodejs
-
Controlla la versione di Node e NPM:
node -v && npm -v
# v4.7.2
# 2.15.11
Installa Nginx
-
Scarica e installa Nginx:
apt install nginx -t jessie-backports
-
Controlla la versione di Nginx:
nginx -v
# nginx version: nginx/1.9.10
-
Avviare il servizio Nginx e verificare lo stato:
systemctl start nginx
systemctl status nginx
-
Configura Nginx come proxy inverso:
vi /etc/nginx/conf.d/ghost.conf
-
Incolla quanto segue in /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;
}
}
-
Controlla la sintassi:
nginx -t
-
Ricarica Nginx:
systemctl reload nginx
Installa Ghost
Se desideri ospitare più blog Ghost sullo stesso VPS, ogni istanza Ghost deve essere in esecuzione su una porta separata.
-
Crea la webrootdirectory:
mkdir -p /var/www/
-
Crea un utente Ghost:
adduser ghost
-
Scarica e installa 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
-
Passa ghostall'utente:
su - ghost
-
Installa Ghost:
cd /var/www/ghost
npm install --production
-
Configura Ghost modificando la urlproprietà productiondell'oggetto all'interno del config.jsfile:
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',
...
}
...
...
NOTA: è necessario configurare mailanche. Consulta la documentazione ufficiale di Ghost su come farlo.
-
Salva il config.jsfile ed esci.
-
Avvia Ghost:
npm start --production
Ghost è ora in esecuzione sul tuo server. Sia il front-end del blog che l'interfaccia di amministrazione sono protetti con HTTPS e anche HTTP / 2 funziona. È possibile aprire il browser e visitare il sito all'indirizzo https://example.com. Non dimenticare di sostituire example.comcon il tuo nome di dominio.
Mantieni Ghost in esecuzione
Se chiudi la sessione terminale sul tuo VPS , anche il tuo blog si spegnerà. Questo non è buono. Per evitare ciò, utilizzeremo il gestore processi Forever. Ciò manterrà il tuo blog attivo 24/7.
-
Passa ghostall'utente:
su - ghost
-
Vai alla /var/www/ghostcartella:
cd /var/www/ghost
-
Installa per sempre:
npm install forever
-
Aggiungi il nuovo forevercomando al tuo percorso:
echo "export PATH=/var/www/ghost/node_modules/forever/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
-
Inizia Ghost with Forever:
NODE_ENV=production /var/www/ghost/node_modules/forever/bin/forever start index.js
A questo punto, foreveravrebbe dovuto iniziare Ghost.
-
Vai a https://example.com/ghoste crea un account amministratore Ghost. Fallo il prima possibile.
Conclusione
Questo è tutto. Ora abbiamo un blog Ghost completamente funzionale. Se vuoi cambiare il tema Ghost predefinito chiamato Casper in uno personalizzato, puoi semplicemente scaricare e decomprimere il tema nella /var/www/ghost/content/themescartella e selezionarlo tramite l'interfaccia di amministrazione Ghost, situata in https://example.com/ghost.