Jak nasadit Ghost na Fedoře 25

Ghost je open source platforma pro blogování, která si od svého vydání v roce 2013 získává na popularitě mezi vývojáři i běžnými uživateli. Klade důraz na obsah a blogování . Nejatraktivnější věcí na Ghost je jeho jednoduchý, čistý a citlivý design. Příspěvky na svůj blog můžete psát z mobilního telefonu. Obsah pro Ghost je napsán pomocí jazyka Markdown. Ghost se perfektně hodí pro jednotlivce nebo malé skupiny spisovatelů.

V této příručce se chystáme nastavit a nasadit zabezpečený blog Ghost na Fedora 25 VPS pomocí Let's Encrypt , Certbot , Node.js , Nginx a PM2 .

Požadavky

  • Instance serveru Fedora 25 s minimálně 1 GB RAM .
  • Pravděpodobně budete muset otevřít port 2368 pomocí semanage port -a -t http_port_t -p tcp 2368.

Pojďme šifrovat

Před zahájením tohoto kroku se ujistěte, že jste pro svou doménu nastavili záznamy DNS .

K získání certifikátu TLS pro náš blog Ghost použijeme Let's Encrypt CA a klienta Certbot společnosti EFF. Nezapomeňte nahradit všechny instance example.comnázvem vaší domény.

  1. Aktualizovat systém:

    dnf check-update || dnf upgrade -y
    
  2. Nainstalujte potřebné nástroje:

    dnf install @development-tools -y
    
  3. Nainstalujte Certbot (neboli klienta Let's Encrypt):

    dnf install certbot -y
    
  4. Zkontrolujte verzi Certbot:

    certbot --version
    # certbot 0.12.0
    
  5. Získejte certifikát pomocí samostatného režimu:

    certbot certonly --standalone --domains example.com,www.example.com --email [email protected] --agree-tos --rsa-key-size 2048
    

Po provedení předchozích kroků bude váš certifikát a soukromý klíč v /etc/letsencrypt/live/example.comadresáři.

Nainstalujte NodeJS

Ghost currently supports Node versions 0.12.x, 4.2+, and 6.9+ only.

Chystáme se nainstalovat podporovanou verzi pro Ghost, která je v6 Boron LTSv době psaní tohoto článku.

  1. Stáhněte a nainstalujte nejnovější verzi LTS Node.js:

    dnf install nodejs -y
    
  2. Zkontrolujte verzi uzlu a NPM:

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

Nainstalujte Nginx

  1. Stáhněte a nainstalujte Nginx:

    dnf install nginx -y
    
  2. Zkontrolujte verzi Nginx:

    nginx -v
    # nginx version: nginx/1.10.2
    
  3. Spusťte a povolte službu Nginx:

    systemctl start nginx.service && systemctl enable nginx.service
    
  4. Nakonfigurujte Nginx jako reverzní proxy:

    vi /etc/nginx/conf.d/ghost.conf
    
  5. Vložte následující /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. Zkontrolujte syntaxi Nginx:

    nginx -t
    
  7. Znovu načíst konfiguraci Nginx:

    systemctl reload nginx.service
    

Nainstalujte Ghost

Pokud chcete hostovat více blogů Ghost na stejném VPS , každá instance Ghost musí běžet na samostatném portu.

  1. Vytvořit webrootadresář:

    mkdir -p /var/www/
    
  2. Vytvořte nového uživatele ducha:

    useradd -c "Ghost Application" ghost 
    
  3. Stáhnout Ghost:

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

    unzip -uo ghost.zip -d /var/www/ghost
    rm -f ghost.zip
    
  5. Přejděte na webroot:

    cd /var/www/ghost
    
  6. Změňte vlastnictví adresáře webroot:

    chown -R ghost:ghost .
    
  7. Přepnout na nového uživatele duchů:

    su - ghost
    
  8. Přejděte na webroot:

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

    npm install --production
    
  10. Nakonfigurujte Ghost změnou urla mailvlastnosti productionobjektu uvnitř config.jssouboru:

    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. Spustit Ghost:

    npm start --production
    

    Ghost nyní poběží. Front-end blogu i administrátorské rozhraní jsou zabezpečeny HTTPS a HTTP/2 funguje také. Můžete otevřít svůj prohlížeč a navštívit stránky na adrese https://example.com. Nezapomeňte nahradit example.comnázvem vaší domény.

  12. Vypněte proces Ghost stisknutím CTRL+ Ca ukončete z ghost uživatele zpět na uživatele root:

    exit
    

Nainstalujte PM2

Pokud ukončíte relaci terminálu pomocí VPS , váš blog také přestane fungovat. To není dobré. Abychom tomu zabránili, použijeme správce procesů PM2 . Náš blog bude fungovat 24/7.

  1. Nainstalujte nejnovější stabilní verzi správce procesů PM2:

    npm install -g pm2@latest
    
  2. Zkontrolujte verzi PM2:

    pm2 -v
    # 2.4.6
    
  3. Znovu přepněte na uživatele duchů:

    su - ghost
    
  4. Nastavit NODE_ENVproměnnou prostředí na produkci:

    echo "export NODE_ENV=production" >> ~/.bashrc && source ~/.bashrc
    
  5. Spusťte (démonizujte) aplikaci Ghost pomocí PM2:

    pm2 start /var/www/ghost/index.js --name "Ghost Blog"
    
  6. Přejděte https://example.com/ghost/a vytvořte uživatele Ghost admin. Udělejte to co nejdříve.

Závěr

A je to. Nyní máme plně funkční blog Ghost. Pokud chcete změnit výchozí téma Ghost s názvem Casper na vlastní, stačí si stáhnout a rozbalit motiv do /var/www/ghost/content/themessložky a vybrat jej prostřednictvím administrátorského rozhraní Ghost na adrese https://example.com/ghost.


Jak nainstalovat BigTree CMS na Fedora 26 LAMP VPS

Jak nainstalovat BigTree CMS na Fedora 26 LAMP VPS

Používáte jiný systém? BigTree CMS 4.2 je rychlý a lehký, bezplatný a open source podnikový systém pro správu obsahu (CMS) s rozsáhlým

Jak nainstalovat Koel na Fedoru 28

Jak nainstalovat Koel na Fedoru 28

Používáte jiný systém? Koel je jednoduchá webová osobní aplikace pro streamování zvuku napsaná ve Vue na straně klienta a Laravel na straně serveru. Koe

Jak nainstalovat Grav CMS na Fedoru 28

Jak nainstalovat Grav CMS na Fedoru 28

Používáte jiný systém? Grav je open source plochý CMS napsaný v PHP. Zdrojový kód Grav je veřejně hostován na GitHubu. Tato příručka vám ukáže, jak t

Instalace Akauntingu na Fedoru 28

Instalace Akauntingu na Fedoru 28

Používáte jiný systém? Akaunting je bezplatný, open source a online účetní software určený pro malé podniky a živnostníky. Je postaven s vtipem

Jak nainstalovat Tiny Tiny RSS Reader na Fedora 26 LAMP VPS

Jak nainstalovat Tiny Tiny RSS Reader na Fedora 26 LAMP VPS

Používáte jiný systém? Tiny Tiny RSS Reader je bezplatný a otevřený zdroj s vlastním hostitelem webového zdroje zpráv (RSS/Atom) a agregátorem určeným pro

Jak nainstalovat InvoicePlane na Fedoru 28

Jak nainstalovat InvoicePlane na Fedoru 28

Používáte jiný systém? InvoicePlane je bezplatná a open source fakturační aplikace. Jeho zdrojový kód lze nalézt na tomto úložišti Github. Tento průvodce

Nainstalujte Minecraft Server na Fedoru 26

Nainstalujte Minecraft Server na Fedoru 26

Používáte jiný systém? V tomto tutoriálu vás provedu nastavením serveru Minecraft na vysoce výkonném SSD VPS na Vultr. Naučíte se ho

Jak zkompilovat Nginx ze zdroje na Fedoře 25

Jak zkompilovat Nginx ze zdroje na Fedoře 25

Používáte jiný systém? NGINX lze použít jako HTTP/HTTPS server, reverzní proxy server, poštovní proxy server, vyrovnávání zatížení, TLS terminátor nebo mezipaměť

Jak nainstalovat Pagekit 1.0 CMS na Fedora 26 LAMP VPS

Jak nainstalovat Pagekit 1.0 CMS na Fedora 26 LAMP VPS

Používáte jiný systém? Pagekit 1.0 CMS je krásný, modulární, rozšiřitelný a lehký, bezplatný a open source systém správy obsahu (CMS) s

Jak nainstalovat Subrion 4.1 CMS na Fedora 26 LAMP VPS

Jak nainstalovat Subrion 4.1 CMS na Fedora 26 LAMP VPS

Používáte jiný systém? Subrion 4.1 CMS je výkonný a flexibilní open source systém správy obsahu (CMS), který přináší intuitivní a jasný obsah

Nainstalujte TaskServer (taskd) na Fedoru 26

Nainstalujte TaskServer (taskd) na Fedoru 26

Používáte jiný systém? TaskWarrior je open source nástroj pro správu času, který je vylepšením aplikace Todo.txt a jejích klonů. Vzhledem k th

Jak nainstalovat CMS Made Simple 2.2 na Fedora 26 LAMP VPS

Jak nainstalovat CMS Made Simple 2.2 na Fedora 26 LAMP VPS

Používáte jiný systém? CMS Made Simple 2.2 je flexibilní a rozšiřitelný, bezplatný a open source systém správy obsahu (CMS) inteligentně navržený tak, aby

Instalace Bro IDS na Fedoru 25

Instalace Bro IDS na Fedoru 25

Používáte jiný systém? Úvod Bro je open-source analyzátor síťového provozu. Je to především bezpečnostní monitor, který kontroluje veškerý provoz na lince

Jak nainstalovat X-Cart 5 na Fedoru 31

Jak nainstalovat X-Cart 5 na Fedoru 31

Používáte jiný systém? X-Cart je extrémně flexibilní open-source platforma elektronického obchodu se spoustou funkcí a integrací. Zdrojový kód X-Cart je hostitel

Jak nainstalovat Matomo Analytics na Fedoru 28

Jak nainstalovat Matomo Analytics na Fedoru 28

Používáte jiný systém? Matomo (dříve Piwik) je open source analytická platforma, otevřená alternativa k Google Analytics. Zdroj Matomo je hostován o

Jak nainstalovat MyBB na Fedoru 28

Jak nainstalovat MyBB na Fedoru 28

Používáte jiný systém? MyBB je bezplatný a open source, intuitivní a rozšiřitelný program fóra. Zdrojový kód MyBB je hostován na GitHubu. Tento průvodce bude sho

Jak nainstalovat a nakonfigurovat TaskBoard na Fedoře 30

Jak nainstalovat a nakonfigurovat TaskBoard na Fedoře 30

Používáte jiný systém? Úvod TaskBoard je bezplatný a open source nástroj, který lze použít ke sledování věcí, které je třeba udělat. Poskytuje

Jak nainstalovat LimeSurvey CE na Fedoru 28

Jak nainstalovat LimeSurvey CE na Fedoru 28

Používáte jiný systém? LimeSurvey je open source průzkumový program napsaný v PHP. Zdrojový kód LimeSurvey je hostován na GitHubu. Tento průvodce vám to ukáže

Jak nainstalovat Backdrop CMS 1.8.0 na Fedora 26 LAMP VPS

Jak nainstalovat Backdrop CMS 1.8.0 na Fedora 26 LAMP VPS

Používáte jiný systém? Backdrop CMS 1.8.0 je jednoduchý a flexibilní, mobilní, bezplatný a open source systém správy obsahu (CMS), který nám umožňuje

Jak nainstalovat Craft CMS na Fedoru 29

Jak nainstalovat Craft CMS na Fedoru 29

Používáte jiný systém? Craft CMS je open source CMS napsaný v PHP. Zdrojový kód CMS CMS je hostován na GitHubu. Tato příručka vám ukáže, jak nainstalovat

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více