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 john.doe@example.com --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.

Fedora, Linux Guides, Node.js, System Admin, Web Servers

Zanechat komentář

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.

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.

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.

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