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.
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’.
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’.
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.
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.
- 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.
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.
2. Klik op de knop “Naam staartnet wijzigen…” onder de subcategorie “Naam staartnet”.
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…’
3. Blader terug naar de bovenkant van de pagina en klik vervolgens op het tabblad ‘Toegangscontrole’.
4. Klik op de knop ‘Trechter toevoegen aan beleid’.
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.
Ghost voor de eerste keer gebruiken
1. Open een webbrowser en navigeer naar uw Ghost-installatie-URL, gevolgd door de submap “/ghost”.
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’.
Je eerste bericht maken in Ghost
1. Klik op de knop ‘Schrijf je eerste bericht’ op de Ghost-onboardingpagina.
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.
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