Hajdemo šifrirati
Instalirajte NodeJS
Instalirajte Nginx
Instalirajte Ghost
Pokreni Ghost ustrajno
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.
U ovom vodiču ćemo postaviti i implementirati siguran Ghost blog na Ubuntu 16.04 VPS koristeći Let's Encrypt, najnoviju LTS verziju Node.js, najnoviju glavnu granu Nginxa i najnoviju verziju Ghosta.
Hajdemo šifrirati
Prije nego započnete ovaj korak, provjerite jeste li postavili DNS zapise za svoju domenu.
Koristit ćemo Let's Encrypt za dobivanje TLS certifikata za naš blog Ghost. Ne zaboravite zamijeniti sve instance example.coms imenom svoje domene.
Sustav ažuriranja:
apt update && apt upgrade -y
Instalirajte potrebne alate:
apt install -y zip build-essential
Instalirajte Let's Encrypt klijent:
apt install -y letsencrypt
Provjerite verziju:
letsencrypt --version
# letsencrypt 0.4.1
Dobiti certifikat
letsencrypt certonly -d example.com -d www.example.com --email john.doe@mail.com --agree-tos --standalone
Nakon prolaska kroz prethodne korake, vaš certifikat i privatni ključ bit će u /etc/letsencrypt/live/example.comimeniku.
Instalirajte NodeJS
Ghost trenutno podržava samo verzije čvora 0.12.x , 4.2+ i 6.9+ .
Instalirat ćemo preporučenu verziju za Ghost koja je v4 argon LTSu vrijeme pisanja ovog teksta.
Preuzmite i instalirajte LTS verziju Node.js:
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
apt install -y nodejs
Provjerite verziju čvora i NPM-a:
node -v && npm -v
# v4.6.2
# 2.15.11
Instalirajte Nginx
Preuzmite i instalirajte Nginx:
wget https://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
rm nginx_signing.key
printf "deb https://nginx.org/packages/mainline/ubuntu/ xenial nginx \ndeb-src https://nginx.org/packages/mainline/ubuntu/ xenial nginx \n" >> /etc/apt/sources.list.d/nginx.list
apt update && apt install nginx -y
Provjerite verziju Nginxa:
nginx -v
# nginx version: nginx/1.11.5
Pokrenite Nginx proces:
service nginx start
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 sintaksu:
nginx -t
Ponovno pokrenite Nginx:
service nginx restart
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 Ghost korisnika:
adduser ghost
Preuzmite i instalirajte 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
Prebacite se na ghostkorisnika:
su - ghost
Instaliraj Ghost:
cd /var/www/ghost
npm install --production
Konfigurirajte Ghost promjenom urlsvojstva productionobjekta unutar config.jsdatoteke:
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',
...
}
...
...
Spremite config.jsdatoteku i izađite.
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.
Pokreni Ghost ustrajno
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 Forever upravitelj procesa. Tako će naš blog biti aktivan 24 sata dnevno.
Prebacite se na ghostkorisnika ako niste:
su - ghost
Idi u ghostmapu
cd /var/www/ghost
Instaliraj zauvijek:
npm install forever
Dodajte novu forevernaredbu svojoj putanji:
echo "export PATH=/var/www/ghost/node_modules/forever/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
Započni Ghost sa zauvijek:
NODE_ENV=production /var/www/ghost/node_modules/forever/bin/forever start index.js
U ovom trenutku, forevertrebao je pokrenuti Ghost.
Idite na https://example.com/ghosti stvorite Ghost administratorski račun. 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.