Hoe installeer ik Ghost op mijn VPS?
Ghost is blog- en CMS-software. Voor een productie-installatie heb je een domeinnaam nodig die naar je VPS verwijst.
In dit artikel leggen we uit hoe je Ghost installeert op een Ubuntu VPS met Nginx, MySQL, Node.js en Ghost-CLI.
Ghost is blog- en CMS-software. Voor een productie-installatie heb je een domeinnaam nodig die naar je VPS verwijst.
Let op! Deze handleiding is bedoeld voor klanten die comfortabel zijn met SSH en Linux-commando's. Maak vooraf een back-up als er al belangrijke data op de VPS staat.
Wat heb je nodig?
- Een Etheron VPS met Ubuntu 22.04 of Ubuntu 24.04
- SSH-toegang tot de VPS
- Een domeinnaam of subdomein met een A-record naar het IP-adres van je VPS
- Minimaal 1 GB RAM
Stap 1: verbind met je VPS
Log in via SSH. Vervang jouw-vps-ip door het IP-adres van je VPS:
ssh root@jouw-vps-ip
Stap 2: maak een aparte gebruiker aan
Gebruik voor Ghost niet de gebruikersnaam ghost. Die naam kan conflicten geven met Ghost-CLI.
Vervang beheerder door je gewenste gebruikersnaam:
adduser beheerder
usermod -aG sudo beheerder
su - beheerder
Stap 3: update de server
sudo apt update
sudo apt upgrade -y
Stap 4: installeer Nginx
Ghost gebruikt Nginx om de website bereikbaar te maken via HTTP en HTTPS.
sudo apt install nginx -y
Gebruik je UFW-firewall? Sta dan Nginx toe:
sudo ufw allow 'Nginx Full'
Stap 5: installeer MySQL
sudo apt install mysql-server -y
Stel daarna een wachtwoord in voor de MySQL-rootgebruiker. Kies een sterk wachtwoord en bewaar dit goed, want Ghost-CLI vraagt hier later om.
sudo mysql
Voer in de MySQL-console uit. Vervang STERK_WACHTWOORD_HIER door je eigen sterke wachtwoord:
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY 'STERK_WACHTWOORD_HIER';
FLUSH PRIVILEGES;
EXIT;
Stap 6: installeer Node.js 22
Ghost ondersteunt Node.js 22 voor Ubuntu-installaties. Installeer Node.js via NodeSource:
sudo apt install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo 'deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main' | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt update
sudo apt install nodejs -y
node -v
npm -v
Stap 7: installeer Ghost-CLI
sudo npm install ghost-cli@latest -g
Controleer of Ghost-CLI werkt:
ghost --version
Stap 8: maak een map voor Ghost
Vervang mijnsite door een herkenbare mapnaam:
sudo mkdir -p /var/www/mijnsite
sudo chown beheerder:beheerder /var/www/mijnsite
sudo chmod 775 /var/www/mijnsite
cd /var/www/mijnsite
Gebruik je een andere gebruikersnaam dan beheerder? Pas het chown-commando dan daarop aan.
Stap 9: installeer Ghost
Start de installatie:
ghost install
Ghost-CLI stelt daarna een aantal vragen:
- Blog URL: vul je domeinnaam in, bijvoorbeeld
https://blog.jouwdomein.nl - MySQL hostname: meestal
localhost - MySQL username: meestal
root - MySQL password: het wachtwoord dat je eerder hebt ingesteld
- Set up Nginx: kies
Yes - Set up SSL: kies
Yesals je domein al naar de VPS verwijst - Set up systemd: kies
Yes - Start Ghost: kies
Yes
Belangrijk: Gebruik voor een productie-installatie een domeinnaam, geen los IP-adres. SSL werkt alleen goed als je domein al naar de VPS verwijst.
Stap 10: open Ghost
Na de installatie open je Ghost via:
https://jouwdomein.nl/ghost
Daar maak je het eerste admin-account aan.
Handige Ghost-commando's
Voer deze commando's uit in de map waarin Ghost is geïnstalleerd:
ghost status
ghost restart
ghost update
ghost doctor
Installatie mislukt?
Controleer dan eerst:
- of je domein naar het IP-adres van je VPS verwijst;
- of poort 80 en 443 bereikbaar zijn;
- of je genoeg RAM en schijfruimte hebt;
- of je het commando uitvoert als normale sudo-gebruiker en niet als root;
- of MySQL werkt en het wachtwoord klopt.
Kom je er niet uit? Neem contact met ons op via Discord of maak een ticket aan.
