Zahtjevi
Hajdemo šifrirati
Instalirajte NodeJS
Instalirajte Nginx
Instalirajte Ghost
Instalirajte PM2
Zaključak
Ghost je platforma za blogove otvorenog koda koja postaje sve popularnija među programerima i običnim korisnicima od svog izdanja 2013. godine. Stavlja fokus na sadržaj i bloganje . Najprivlačnija stvar kod Ghost-a je njegov jednostavan, čist i prilagodljiv dizajn. Svoje postove na blogu možete pisati s mobilnog telefona. Sadržaj za Ghost je napisan korištenjem Markdown jezika. Ghost je savršeno prikladan za pojedince ili male grupe pisaca.
U ovom vodiču ćemo postaviti i implementirati siguran Ghost blog na Fedora 25 VPS koristeći Let's Encrypt , Certbot , Node.js , Nginx i PM2 .
Zahtjevi
- Instanca poslužitelja Fedora 25 s najmanje 1 GB RAM-a .
- Vjerojatno ćete morati otvoriti port 2368 s
semanage port -a -t http_port_t -p tcp 2368.
Hajdemo šifrirati
Prije nego započnete ovaj korak, provjerite jeste li postavili DNS zapise za svoju domenu.
Koristit ćemo Let's Encrypt CA i EFF-ov Certbot klijent za dobivanje TLS certifikata za naš Ghost blog. Ne zaboravite zamijeniti sve instance example.coms imenom svoje domene.
Sustav ažuriranja:
dnf check-update || dnf upgrade -y
Instalirajte potrebne alate:
dnf install @development-tools -y
Instalirajte Certbot (aka Let's Encrypt klijent):
dnf install certbot -y
Provjerite verziju Certbota:
certbot --version
# certbot 0.12.0
Nabavite certifikat koristeći samostalni način rada:
certbot certonly --standalone --domains example.com,www.example.com --email john.doe@example.com --agree-tos --rsa-key-size 2048
Nakon prolaska kroz prethodne korake, vaš certifikat i privatni ključ bit će u /etc/letsencrypt/live/example.comimeniku.
Instalirajte NodeJS
Ghost currently supports Node versions 0.12.x, 4.2+, and 6.9+ only.
Instalirat ćemo podržanu verziju za Ghost koja je v6 Boron LTSu vrijeme pisanja ovog teksta.
Preuzmite i instalirajte najnoviju LTS verziju Node.js:
dnf install nodejs -y
Provjerite verziju čvora i NPM-a:
node -v && npm -v
# v6.10.2
# 3.10.10
Instalirajte Nginx
Preuzmite i instalirajte Nginx:
dnf install nginx -y
Provjerite verziju Nginxa:
nginx -v
# nginx version: nginx/1.10.2
Pokrenite i omogućite Nginx uslugu:
systemctl start nginx.service && systemctl enable nginx.service
Konfigurirajte Nginx kao obrnuti proxy:
vi /etc/nginx/conf.d/ghost.conf
Zalijepite sljedeće u /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;
}
}
Provjerite Nginx sintaksu:
nginx -t
Ponovno učitaj Nginx konfiguraciju:
systemctl reload nginx.service
Instalirajte Ghost
Ako želite ugostiti više Ghost blogova na istom VPS-u , svaka Ghost instanca mora biti pokrenuta na zasebnom portu.
Napravite webrootimenik:
mkdir -p /var/www/
Stvorite novog korisnika duha:
useradd -c "Ghost Application" ghost
Preuzmite Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.8/Ghost-0.11.8.zip -o ghost.zip
Raspakiraj Ghost:
unzip -uo ghost.zip -d /var/www/ghost
rm -f ghost.zip
Idite na webroot:
cd /var/www/ghost
Promijenite vlasništvo webroot direktorija:
chown -R ghost:ghost .
Prijeđite na novog korisnika duha:
su - ghost
Idite na webroot:
cd /var/www/ghost
Instaliraj Ghost:
npm install --production
Konfigurirajte Ghost promjenom urli mailsvojstva productionobjekta unutar config.jsdatoteke:
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.
Pokreni Ghost:
npm start --production
Duh će sada trčati. I front-end bloga i admin sučelje su osigurani HTTPS-om, a HTTP/2 također radi. Možete otvoriti svoj preglednik i posjetiti stranicu na https://example.com. Ne zaboravite zamijeniti example.comsvojim imenom domene.
Isključite Ghost proces pritiskom na CTRL+ Ci izađite iz ghost korisnika natrag na root korisnika:
exit
Instalirajte PM2
Ako zatvorite svoju terminalsku sesiju sa svojim VPS-om , vaš blog će se također pokvariti. To nije dobro. Da bismo to izbjegli, koristit ćemo upravitelj procesa PM2 . Održat će naš blog aktivan 24 sata dnevno.
Instalirajte najnoviju stabilnu verziju upravitelja procesa PM2:
npm install -g pm2@latest
Provjerite verziju PM2:
pm2 -v
# 2.4.6
Ponovno se prebacite na korisnika duha:
su - ghost
Postavite NODE_ENVvarijablu okruženja na proizvodnju:
echo "export NODE_ENV=production" >> ~/.bashrc && source ~/.bashrc
Pokrenite (demonizirajte) Ghost aplikaciju s PM2:
pm2 start /var/www/ghost/index.js --name "Ghost Blog"
Idite do https://example.com/ghost/i stvorite Ghost administratorskog korisnika. Učinite to što je prije moguće.
Zaključak
To je to. Sada imamo potpuno funkcionalan Ghost blog. Ako želite promijeniti zadanu Ghost temu pod nazivom Casper u prilagođenu, možete jednostavno preuzeti i raspakirati temu u /var/www/ghost/content/themesmapu i odabrati je putem Ghost administratorskog sučelja, koji se nalazi na https://example.com/ghost.