Šifrirajmo (Certbot)
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 CentOS 7 VPS koristeći Let's Encrypt, Node.js i Nginx.
Šifrirajmo (Certbot)
Prije nego započnete ovaj korak, provjerite jeste li postavili DNS zapise za svoju domenu.
Koristit ćemo Let's Encrypt Certificate Authority i njegov Certbot klijent za dobivanje TLS certifikata za naš blog Ghost. Ne zaboravite zamijeniti sve instance example.coms imenom svoje domene.
Sustav ažuriranja:
yum check-update && yum update
Instalirajte razvojne alate:
yum groupinstall -y 'Development Tools'
Omogućite EPEL (Extra Packages for Enterprise Linux) spremište.
# 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
Instalirajte Certbot (aka Let's Encrypt klijent):
yum install -y certbot
Provjerite verziju:
certbot --version
# certbot 0.9.3
Dobiti certifikat:
certbot 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 Node v4.x argon LTSu vrijeme pisanja ovog teksta.
Preuzmite i instalirajte LTS verziju Node.js:
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum --disablerepo "*" --enablerepo "nodesource" install -y nodejs
Provjerite verziju čvora i NPM-a:
node -v && npm -v
# v4.7.2
# 2.15.11
Instalirajte Nginx
Pokrenite vi /etc/yum.repos.d/nginx.repoi kopirajte/zalijepite donje direktive te spremite i izađite:
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
Preuzmite i instalirajte Nginx:
yum install -y nginx
Provjerite verziju Nginxa:
nginx -v
# nginx version: nginx/1.11.8
Pokrenite Nginx proces i provjerite status:
systemctl start nginx
systemctl status nginx
Konfigurirajte Nginx kao obrnuti proxy:
vi /etc/nginx/conf.d/ghost.conf
Dodajte sljedeće na /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:
systemctl restart nginx
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:
useradd -c "Ghost Application" 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
Instalirajte Forever upravitelj procesa:
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. Za provjeru pokrenute verzije Ghost-a idite na https://example.com/ghost/about/nakon kreiranja administratorskog računa.
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.