Hvordan du selv er vert og installerer Ghost på din Linux-server 1

Hvordan du selv er vert og installerer Ghost på din Linux-server


Ghost er et åpen kildekode innholdsstyringsprogram som lar deg enkelt lage en blogg og en nyhetsbrevtjeneste. Du kan velge å abonnere på Ghost(Pro)-tjenesten for å bruke CMS, eller, hvis du er mer teknisk tilbøyelig, selv hoste den på serveren din. Her viser vi deg sistnevnte – self-host Ghost på din Linux-server.

Hvorfor du bør være vert for Ghost på serveren din

En av fordelene med en Spøkelse bloggen er at den gir en integrert, funksjonsfylt plattform som fungerer rett ut av boksen. Dette inkluderer muligheten til å spore analyser, tjene penger på innlegg og lage automatiske nyhetsbrev for abonnentene dine.

Et skjermbilde av Ghost-dashbordet.

Ved å installere Ghost på serveren din kan du være en utgiver uten å stole på en tredjepart for å administrere dataene dine. Dette kan være nyttig hvis du er en journalist som legger ut kritiske artikler om kontroversielle emner.

Til slutt er Ghost enkel å distribuere og vedlikeholde, selv for ikke-tekniske brukere. I motsetning til tradisjonelle CMS-plattformer, tilbyr Ghost en alt-i-ett-løsning som du kan «sette og glemme» på vertsmaskinen din.

Godt å vite: Lær hvordan du er vert for et nettarkiv på Linux ved hjelp av Archivebox.

Installere Ghost på serveren din

Antagelse: Før vi starter, antar vi at du allerede har en Linux-server tilgjengelig og et domenenavn for å være vert for Ghost-installasjonen. Hvis du trenger å leie en Linux-server, anbefaler vi DigitalOcean eller Linode.

Siden vi skal bruke Docker, må vi installere Docker på serveren først.

1. Installer den offentlige nøkkelen til Docker-prosjektet:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

2. Opprett en ny depotfil i maskinens apt config-katalog:

sudo nano /etc/apt/sources.list.d/docker.list

3. Lim inn følgende kodelinje i den nye depotfilen din:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

4. Oppdater systemets arkivoppføringer og oppgrader de eksisterende binærfilene i maskinen din:

sudo apt update
sudo apt upgrade

5. Installer Docker og Docker Compose sammen med deres avhengigheter:

sudo apt install wget docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

6. Legg til brukeren din i Docker-gruppen

sudo usermod -aG docker $USER

7. Sett Docker-tjenesten til å kjøre ved oppstart:

sudo systemctl enable docker.service

8. Start serveren på nytt.

sudo reboot

Sette opp Gmail for SMTP-levering

Ghost kommer ikke med sin egen e-postleveringsklient, så vi må koble den til Gmail for e-postlevering.

1. Åpne en nettleser og logg på Gmail-kontoen du vil koble til Ghost-forekomsten.

2. Klikk på profilikonet for kontoen din, og klikk deretter på «Administrer Google-kontoen din».

3. Velg kategorien «Sikkerhet», og klikk deretter på alternativet «2-trinns bekreftelse» under underkategorien «Slik logger du på Google».

Et skjermbilde som fremhever 2-trinns bekreftelsesprosessen for Gmail-kontoer.

4. Bekreft telefonnummeret ditt og aktiver 2-trinns bekreftelse.

5. Gå tilbake til kategorien «Sikkerhet», og klikk deretter på alternativet «2-trinns bekreftelse» igjen. Dette vil åpne en ny menyskjerm hvor du kan angi nye sekundærnøkler for kontoen din. Rull til bunnen av siden, og klikk deretter på «App-passord».

Et skjermbilde som viser

6. Velg «Mail» for den første rullegardinlisten, og velg deretter «Annet» på den andre.

7. Skriv «Gmail for Ghost» i tekstboksen, og klikk deretter på «Generer». Dette vil åpne et vindu med en gul tekstboks som inneholder ditt tilpassede programpassord.

Et skjermbilde som viser det genererte applikasjonspassordet for Ghost.

FYI: Du kan også bruke andre eksterne leveringsagenter til å sende e-post via Ghost. Lær hvordan du oppretter din egen e-postserver ved å bruke Mail-in-a-Box.

Bygge Docker Container

1. Opprett en ny katalog for Ghost-installasjonens dockerfiler:

mkdir ~/ghost
cd ~/ghost

2. Opprett en ny docker-compose.yml-fil ved å bruke din favoritt tekstredigerer:

nano ./docker-compose.yml

3. Lim inn følgende kodeblokk i den nye docker-compose.yml-filen og lagre den.

---
version: "3"
services:
  ghost:
    image: ghost:latest
    restart: always
    ports:
      - 8080:2368
    environment:
      database__client: mysql
      database__connection__host: db
      database__connection__database: ghost
      database__connection__user: ghost
      database__connection__password: ghost
      url: ${GHOST_URL}
      mail__transport: ${MAIL_TRANSPORT}
      mail__options__host: ${MAIL_HOST}
      mail__options__port: ${MAIL_PORT}
      mail__options__secureConnection: ${MAIL_SECURE_CONNECTION}
      mail__options__auth__user: ${MAIL_USER}
      mail__options__auth__pass: ${MAIL_PASSWORD}
    volumes:
      - ghost-data:/var/lib/ghost/content
    links:
      - db
  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ghost
      MYSQL_USER: ghost
      MYSQL_PASSWORD: ghost
    cap_add:
      - SYS_NICE
    volumes:
      - ghost-db:/var/lib/mysql
volumes:
  ghost-data: null
  ghost-db: null

4. Lag en «.env»-fil i Ghost docker-katalogen:

nano ./.env

5. Lim inn følgende kodeblokk i den nye .env-filen:

# URL
GHOST_URL="#REPLACE_ME_WITH_DOMAIN_NAME#"
# Database
MYSQL_ROOT_PASSWORD="#REPLACE_ME_WITH_SECURE_PASSWORD#"
# SMTP variables
MAIL_SERVICE="Gmail"
MAIL_TRANSPORT="SMTP"
MAIL_USER="#REPLACE_ME_WITH_YOUR_GMAIL_ADDRESS#"
MAIL_PASSWORD="#REPLACE_ME_WITH_YOUR_APP_PASSWORD#"
MAIL_HOST="smtp.gmail.com"
MAIL_PORT="465"
MAIL_SECURE_CONNECTION="true"
  • Endre verdien for «GHOST_URL»-variabelen fra «#REPLACE_ME_WITH_DOMAIN_NAME#» til ditt fullstendige domenenavn.
En terminal som viser URL-en for en ekstern Ghost-forekomst.
  • Erstatt verdien av «MYSQL_ROOT_PASSWORD» med et tilstrekkelig tilfeldig passord.
  • Endre verdien for både «MAIL_USER» og «MAIL_PASSWORD» med e-postadressen til Gmail-kontoen din og applikasjonspassordet.

Merk: Du må skrive passordet for Gmail-applikasjonen uten mellomrom mellom hvert segment.

6. Bygg Ghost Docker-beholderen ved å kjøre følgende kommando:

sudo docker compose up -d

Sette opp en omvendt proxy

Med Ghost som kjører i backend, må vi sette opp en omvendt proxy for å kunne få tilgang til Ghost offentlig. I dette tilfellet vil vi bruke Nginx sin omvendte proxy.

1. Installer Nginx-nettserverpakken. Dette vil fungere som din omvendte proxy-daemon som vil ta tilkoblinger fra internett og omdirigere den til Ghost.

sudo apt install nginx

2. Opprett en ny konfigurasjonsfil for Nginx-nettstedet ved å bruke din favoritttekstredigerer:

sudo nano /etc/nginx/sites-available/ghost

3. Lim inn følgende kodeblokk i den nye konfigurasjonsfilen for nettstedet:

server {
   listen 80;
   listen [::]:80;
 
   root                    /var/www/html;
   server_name             ghost.myvpsserver.top;
 
   location / {
       proxy_set_header    X-Forwarded-For $remote_addr;
       proxy_set_header    Host $http_host;
       proxy_set_header    X-Forwarded-Proto $scheme;
       proxy_pass          http://127.0.0.1:8080;
   }
}

4. Lag en symbolsk lenke for Ghost-nettstedets konfigurasjon:

sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/

5. Aktiver Nginx-nettservertjenesten ved å bruke systemctl:

sudo systemctl enable --now nginx.service

Aktiverer SSL på Nginx Reverse Proxy

1. Sørg for at «kjerne»-snappakken er til stede i maskinen din:

sudo snap install core

2. Installer certbot snap-pakken:

sudo snap install certbot --classic

3. Registrer certbot-installasjonen til e-postadressen din ved å kjøre følgende kommando:

sudo certbot register --agree-tos --email ramces@email.invalid

4. Be om et nytt SSL-sertifikat for Ghost-bloggen din:

sudo certbot --nginx -d ghost.myvpsserver.top

5. Test om din nye Ghost-forekomst er tilgjengelig via SSL ved å åpne en nettleser og laste inn domenenavnet ditt.

Et skjermbilde som viser en fungerende Ghost-forekomst fra en ekstern server.

Kjører Ghost på en lokal maskin

Hvis du ikke har en server og ønsker å installere Ghost på din lokale maskin, kan du også. I tillegg kan du bruke Tailscale for å få tilgang til den overalt i nettleseren din.

1. Installer Tailscale VPN-demonen på maskinen din og koble den til Tailscale-kontoen din. Gå til Tailscale Administrator Console og klikk på «DNS»-fanen på konsollens topplinje.

Et skjermbilde som fremhever DNS-fanen på Tailscale Admin Console.

2. Klikk på «Gi nytt navn til halenett…» under underkategorien «Navn på halenett».

Et skjermbilde som fremhever

3. Sett maskinens vertsnavn til «ghost» etterfulgt av det nye underdomenet for Tailscale-nettverket:

sudo hostnamectl set-hostname ghost.your-tailnet.ts.net

Aktiverer Tailscale Funnel

1. Åpne Tailscale Administrator Console og klikk på «DNS»-fanen.

2. Rull ned til bunnen av siden og klikk på «Aktiver HTTPS…»

Et skjermbilde som viser HTTPS-alternativet for Tailscale-verter.

3. Rull tilbake opp til toppen av siden, og klikk deretter på «Tilgangskontroll»-fanen.

Et skjermbilde som fremhever

4. Klikk på «Legg til trakt i policy»-knappen.

Et skjermbilde som fremhever

5. Kjør følgende kommando for å lage en omvendt proxy mellom Tailscale og din lokale Docker-beholder:

sudo tailscale serve https / http://127.0.0.1:8080

6. Aktiver Tailscale-trakten for omvendt proxy ved å kjøre følgende kommando:

sudo tailscale funnel 443 on

7. Test om din nye Ghost-forekomst er tilgjengelig gjennom Tailscale-trakten ved å åpne en nettleser og laste inn Tailscale-adressen din.

Et skjermbilde som viser en fungerende Ghost-installasjon over Tailscale.

Bruke Ghost The First Time

1. Åpne en nettleser og naviger til Ghost-installasjons-URLen etterfulgt av underkatalogen «/ghost.»

Et skjermbilde av en nettlesers adresselinje som viser riktig URL for Ghost-oppsettsiden.

2. Klikk på det første feltet og oppgi et navn for den nye Ghost-bloggen din. Fyll ut resten av feltene med detaljer om administratorbrukeren din, og klikk deretter på «Opprett konto og begynn å publisere.»

Et skjermbilde som viser

Opprett ditt første innlegg i Ghost

1. Klikk på «Skriv ditt første innlegg»-knappen på Ghost onboarding-siden.

Et skjermbilde som viser de første trinnene ombordstigningssiden for Ghost.

2. Dette vil få opp en ren tekstredigerer der du kan skrive et enkelt tekstinnlegg. Klikk «Publiser» når du er ferdig for å lage et nytt testinnlegg.

3. Sjekk Ghost-forsiden din for å se om det nye innlegget gikk gjennom.

Legge til en ny bruker til Ghost

1. Gå tilbake til Ghost Administrator Console, og klikk deretter på «Members» på sidens venstre sidefelt.

2. Klikk på «Nytt medlem»-knappen øverst til høyre på siden.

Et skjermbilde som viser listen over medlemmer på gjeldende Ghost-forekomst.

3. Fyll inn detaljene til ditt nye medlem, og klikk deretter på «Lagre» for å legge dem til i bloggens nyhetsbrev.

Godt å vite: Lær hvordan du distribuerer og er vert for din egen Twitter-klon ved hjelp av Pleroma.

ofte stilte spørsmål

Har Tailscale Funnel noen begrensninger?

Ja. Som standard kan du bare eksponere trafikk på Tailscale gjennom tre porter: 443, 8443 og 10000 og kun ved å bruke TCP. Dette betyr at du ikke vil kunne eksponere noen online-tjeneste i sanntid som VoIP og spillservere.

Kan jeg tilpasse Tailscale-domenenavnet?

Nei. Dette er fordi hver Tailscale DNS-adresse er skreddersydd for din spesifikke konto. Dette lar tjenesten identifisere maskinene dine fra andre innenfor det større Tailscale-nettverket.

Vil Ghost-bloggen min slutte å kjøre når datamaskinen min er frakoblet?

Ja. En av ulempene med å hoste på din egen maskinvare er at nettstedets oppetid avhenger av oppetiden til maskinen din. Dette betyr at når vertsmaskinen din går ned, så gjør Ghost-bloggen din det også.

Bildekreditt: ARBEIDSKONTOR KOMMUNIKASJON FOLK SOM BRUKER DATABLOGG KONSEPT og tradisjonell halloween-spøkelseskapsel av 123RF.

Støtt vårt arbeid ❤️

Hvis du likte denne artikkelen, vurder å gi en tips for å hjelpe oss med å fortsette å publisere kvalitetsinnhold.

Sikker betaling med PayPal
Moyens I/O Staff har motivert deg, gitt deg råd om teknologi, personlig utvikling, livsstil og strategier som vil hjelpe deg.