Kako implementirati Ghost na Fedora 25

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.

  1. Sustav ažuriranja:

    dnf check-update || dnf upgrade -y
    
  2. Instalirajte potrebne alate:

    dnf install @development-tools -y
    
  3. Instalirajte Certbot (aka Let's Encrypt klijent):

    dnf install certbot -y
    
  4. Provjerite verziju Certbota:

    certbot --version
    # certbot 0.12.0
    
  5. 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.

  1. Preuzmite i instalirajte najnoviju LTS verziju Node.js:

    dnf install nodejs -y
    
  2. Provjerite verziju čvora i NPM-a:

    node -v && npm -v
    # v6.10.2
    # 3.10.10
    

Instalirajte Nginx

  1. Preuzmite i instalirajte Nginx:

    dnf install nginx -y
    
  2. Provjerite verziju Nginxa:

    nginx -v
    # nginx version: nginx/1.10.2
    
  3. Pokrenite i omogućite Nginx uslugu:

    systemctl start nginx.service && systemctl enable nginx.service
    
  4. Konfigurirajte Nginx kao obrnuti proxy:

    vi /etc/nginx/conf.d/ghost.conf
    
  5. 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;
      }
    
    }
    
  6. Provjerite Nginx sintaksu:

    nginx -t
    
  7. 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.

  1. Napravite webrootimenik:

    mkdir -p /var/www/
    
  2. Stvorite novog korisnika duha:

    useradd -c "Ghost Application" ghost 
    
  3. Preuzmite Ghost:

    curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.8/Ghost-0.11.8.zip -o ghost.zip
    
  4. Raspakiraj Ghost:

    unzip -uo ghost.zip -d /var/www/ghost
    rm -f ghost.zip
    
  5. Idite na webroot:

    cd /var/www/ghost
    
  6. Promijenite vlasništvo webroot direktorija:

    chown -R ghost:ghost .
    
  7. Prijeđite na novog korisnika duha:

    su - ghost
    
  8. Idite na webroot:

    cd /var/www/ghost
    
  9. Instaliraj Ghost:

    npm install --production
    
  10. 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.

  11. 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.

  12. 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.

  1. Instalirajte najnoviju stabilnu verziju upravitelja procesa PM2:

    npm install -g pm2@latest
    
  2. Provjerite verziju PM2:

    pm2 -v
    # 2.4.6
    
  3. Ponovno se prebacite na korisnika duha:

    su - ghost
    
  4. Postavite NODE_ENVvarijablu okruženja na proizvodnju:

    echo "export NODE_ENV=production" >> ~/.bashrc && source ~/.bashrc
    
  5. Pokrenite (demonizirajte) Ghost aplikaciju s PM2:

    pm2 start /var/www/ghost/index.js --name "Ghost Blog"
    
  6. 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.

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više