Hoe u Ghost zelf kunt hosten en installeren op uw Linux-server

Hoe u Ghost zelf kunt hosten en installeren op uw Linux-server

Ghost is een open-source contentmanagementprogramma waarmee u eenvoudig een blog en een nieuwsbriefservice kunt maken. U kunt ervoor kiezen om u te abonneren op de Ghost(Pro)-service om het CMS te gebruiken, of, als u technischer bent, deze zelf op uw server te hosten. Hier laten we je de laatste zien: Ghost zelf hosten op je Linux-server.

Waarom u Ghost zelf op uw server zou moeten hosten

Een van de voordelen van een Ghost- blog is dat het een geïntegreerd platform boordevol functies biedt dat direct uit de doos werkt. Dit omvat de mogelijkheid om analyses bij te houden, inkomsten te genereren met berichten en automatische nieuwsbrieven voor uw abonnees te maken.

Een screenshot van het Ghost-dashboard.

Door Ghost op uw server te installeren, kunt u een uitgever zijn zonder afhankelijk te zijn van een derde partij om uw gegevens te beheren. Dit kan handig zijn als u een journalist bent die kritische artikelen over controversiële onderwerpen publiceert.

Ten slotte is Ghost eenvoudig te implementeren en te onderhouden, zelfs voor niet-technische gebruikers. In tegenstelling tot traditionele CMS-platforms biedt Ghost een alles-in-één oplossing die u kunt instellen en vergeten op uw hostingmachine.

Ghost op uw server installeren

Aanname : Voordat we beginnen, gaan we ervan uit dat je al een Linux-server beschikbaar hebt en een domeinnaam om je Ghost-installatie te hosten. Als u een Linux-server moet huren, raden wij DigitalOcean of Linode aan .

Omdat we Docker gaan gebruiken, moeten we eerst Docker op de server installeren.

1. Installeer de openbare repositorysleutel van het Docker-project:

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. Maak een nieuw repositorybestand aan in de apt config-directory van uw machine:

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

3. Plak de volgende coderegel in uw nieuwe repositorybestand:

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

4. Ververs de repositorylijsten van uw systeem en upgrade de bestaande binaire bestanden op uw machine:

sudo apt updatesudo apt upgrade

5. Installeer Docker en Docker Compose samen met hun afhankelijkheden:

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

6. Voeg uw gebruiker toe aan de Docker-groep

sudo usermod -aG docker $USER

7. Stel de Docker-service zo in dat deze wordt uitgevoerd bij het opstarten:

sudo systemctl enable docker.service

8. Start de server opnieuw op.

sudo reboot

Gmail instellen voor SMTP-bezorging

Ghost wordt niet geleverd met een eigen e-mailbezorgingsclient, dus we moeten het aansluiten op Gmail voor e-mailbezorging.

1. Open een webbrowser en log in op het Gmail-account dat u aan uw Ghost-instantie wilt koppelen.

2. Klik op het profielpictogram van uw account en klik vervolgens op ‘Uw Google-account beheren’.

3. Selecteer de categorie ‘Beveiliging’ en klik vervolgens op de optie ‘Authenticatie in twee stappen’ onder de subcategorie ‘Hoe u zich aanmeldt bij Google’.

Een screenshot waarin het authenticatieproces in twee stappen voor Gmail-accounts wordt benadrukt.

4. Verifieer uw telefoonnummer en schakel authenticatie in twee stappen in .

5. Ga terug naar de categorie “Beveiliging” en klik vervolgens opnieuw op de optie “Authenticatie in twee stappen”. Hierdoor wordt een nieuw menuscherm geopend waarin u nieuwe secundaire sleutels voor uw account kunt instellen. Scrol naar de onderkant van de pagina en klik vervolgens op ‘App-wachtwoorden’.

Een schermafdruk die de

6. Selecteer ‘Mail’ voor de eerste vervolgkeuzelijst en selecteer vervolgens ‘Overig’ in de tweede.

7. Schrijf ‘Gmail voor Ghost’ in het tekstvak en klik vervolgens op ‘Genereren’. Er wordt een venster geopend met een geel tekstvak met daarin uw aangepaste applicatiewachtwoord.

Een schermafbeelding met het gegenereerde applicatiewachtwoord voor Ghost.

Het bouwen van de Docker-container

1. Maak een nieuwe map voor de dockerbestanden van uw Ghost-installatie:

mkdir ~/ghost
cd ~/ghost

2. Maak een nieuw docker-compose.yml-bestand met uw favoriete teksteditor:

nano. /docker-compose.yml

3. Plak het volgende codeblok in uw nieuwe docker-compose.yml-bestand en sla het op.

---
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. Maak een “.env”-bestand in uw Ghost docker-map:

nano. /.env

5. Plak het volgende codeblok in uw nieuwe. env-bestand:

# URLGHOST_URL="#REPLACE_ME_WITH_DOMAIN_NAME#"# DatabaseMYSQL_ROOT_PASSWORD="#REPLACE_ME_WITH_SECURE_PASSWORD#"# SMTP variablesMAIL_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"

  • Wijzig de waarde voor de variabele “GHOST_URL” van “#REPLACE_ME_WITH_DOMAIN_NAME#” in uw volledige domeinnaam.
Een terminal die de URL toont voor een externe Ghost-instantie.
  • Vervang de waarde van “MYSQL_ROOT_PASSWORD” door een voldoende willekeurig wachtwoord.
  • Wijzig de waarde van zowel “MAIL_USER” als “MAIL_PASSWORD” met het e-mailadres van uw Gmail-account en het bijbehorende applicatiewachtwoord.

6. Bouw de Ghost Docker-container door de volgende opdracht uit te voeren:

sudo docker compose up -d

Een omgekeerde proxy instellen

Omdat Ghost in de backend draait, moeten we een omgekeerde proxy instellen om Ghost publiekelijk te kunnen benaderen. In dit geval zullen we de reverse proxy van Nginx gebruiken .

1. Installeer het Nginx-webserverpakket. Dit zal dienen als uw reverse proxy-daemon die verbindingen van internet overneemt en deze doorstuurt naar Ghost.

sudo apt install nginx

2. Maak een nieuw Nginx-siteconfiguratiebestand met uw favoriete teksteditor:

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

3. Plak het volgende codeblok in uw nieuwe siteconfiguratiebestand:

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. Maak een symbolische link voor uw Ghost-siteconfiguratie:

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

5. Schakel de Nginx-webserverservice in met systemctl:

sudo systemctl enable --now nginx.service

SSL inschakelen op uw Nginx reverse proxy

1. Zorg ervoor dat het “core” snap-pakket aanwezig is in uw machine:

sudo snap install core

2. Installeer het certbot-snappakket:

sudo snap install certbot --classic

3. Registreer uw certbot-installatie op uw e-mailadres door de volgende opdracht uit te voeren:

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

4. Vraag een nieuw SSL-certificaat aan voor je Ghost-blog:

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

5. Test of uw nieuwe Ghost-instantie toegankelijk is via SSL door een webbrowser te openen en uw domeinnaam te laden.

Een schermafbeelding van een werkende Ghost-instantie van een externe server.

Ghost uitvoeren op een lokale machine

Als u geen server heeft en Ghost op uw lokale computer wilt installeren, kunt u dat ook doen. Bovendien kunt u Tailscale gebruiken om deze overal in uw browser te openen.

1. Installeer de Tailscale VPN-daemon op uw machine en koppel deze aan uw Tailscale-account. Ga naar uw Tailscale Administrator Console en klik op het tabblad “DNS” in de bovenste balk van de console.

Een screenshot waarin het DNS-tabblad in de Tailscale Admin Console wordt gemarkeerd.

2. Klik op de knop “Naam staartnet wijzigen…” onder de subcategorie “Naam staartnet”.

Een screenshot waarin de

3. Stel de hostnaam van uw machine in op “ghost”, gevolgd door het nieuwe subdomein voor uw Tailscale-netwerk:

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

Tailscale-trechter inschakelen

1. Open de Tailscale Administrator Console en klik op het tabblad “DNS”.

2. Scrol omlaag naar de onderkant van de pagina en klik vervolgens op ‘HTTPS inschakelen…’

Een screenshot met de HTTPS-optie voor Tailscale-hosts.

3. Blader terug naar de bovenkant van de pagina en klik vervolgens op het tabblad ‘Toegangscontrole’.

Een screenshot waarin de

4. Klik op de knop ‘Trechter toevoegen aan beleid’.

Een screenshot waarin de

5. Voer het volgende commando uit om een ​​reverse proxy aan te maken tussen Tailscale en uw lokale Docker-container:

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

6. Schakel de Tailscale-trechter voor uw omgekeerde proxy in door de volgende opdracht uit te voeren:

sudo tailscale funnel 443 on

7. Test of uw nieuwe Ghost-instantie toegankelijk is via uw Tailscale-trechter door een webbrowser te openen en uw Tailscale-adres te laden.

Een screenshot van een werkende Ghost-installatie via Tailscale.

Ghost voor de eerste keer gebruiken

1. Open een webbrowser en navigeer naar uw Ghost-installatie-URL, gevolgd door de submap “/ghost”.

Een screenshot van de adresbalk van een webbrowser met de juiste URL voor de Ghost-installatiepagina.

2. Klik op het eerste veld en geef een naam op voor uw nieuwe Ghost-blog. Vul de rest van de velden in met details over uw admin-gebruiker en klik vervolgens op ‘Account aanmaken en beginnen met publiceren’.

Een schermafdruk die de

Je eerste bericht maken in Ghost

1. Klik op de knop ‘Schrijf je eerste bericht’ op de Ghost-onboardingpagina.

Een screenshot van de eerste stappen op de onboardingpagina voor Ghost.

2. Er verschijnt een teksteditor waarin u een eenvoudig tekstbericht kunt schrijven. Klik op “Publiceren” zodra u klaar bent om een ​​nieuw testbericht te maken.

3. Controleer de Ghost-voorpagina om te zien of het nieuwe bericht is doorgekomen.

Een nieuwe gebruiker toevoegen aan Ghost

1. Ga terug naar uw Ghost Administrator Console en klik vervolgens op “Leden” in de linkerzijbalk van de pagina.

2. Klik op de knop ‘Nieuw lid’ in de rechterbovenhoek van de pagina.

Een schermafbeelding van de lijst met leden van de huidige Ghost-instantie.

3. Vul de gegevens van uw nieuwe lid in en klik vervolgens op “Opslaan” om ze toe te voegen aan de nieuwsbrieffeed van de blog.

Veel Gestelde Vragen

Heeft Tailscale Funnel beperkingen?

Ja. Standaard kun je verkeer op Tailscale alleen via drie poorten ontsluiten: 443, 8443 en 10000 en alleen via TCP. Dit betekent dat u geen realtime online diensten zoals VoIP en gameservers kunt weergeven.

Kan ik de Tailscale domeinnaam personaliseren?

Nee. Dit komt omdat elk Tailscale DNS-adres is afgestemd op uw specifieke account. Hierdoor kan de service uw machines identificeren van anderen binnen het grotere Tailscale-netwerk.

Zal mijn Ghost-blog niet meer actief zijn als mijn computer offline is?

Ja. Een van de nadelen van hosting op uw eigen hardware is dat de uptime van uw website afhankelijk is van de uptime van uw machine. Dit betekent dat wanneer uw hostmachine uitvalt, uw Ghost-blog ook uitvalt.

Afbeelding tegoed: WERKKANTOOR COMMUNICATIE MENSEN DIE COMPUTER BLOG CONCEPT GEBRUIKEN en traditioneel Halloween-spookkoekje van 123RF.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *