Ga naar inhoud

VPS instellen voor beginners: stap-voor-stap handleiding

Laatst bijgewerkt: 31 December 2025

Je hebt je eerste VPS besteld - en nu? Een kale VPS is als een leeg huis: je moet zelf de inrichting regelen. In deze beginnersgids doorlopen we de essentiële stappen om je VPS veilig en functioneel te maken, zonder dat je een Linux-expert hoeft te zijn.

De meeste VPS'en komen met een minimale Linux-installatie. Je krijgt root-toegang en een IP-adres, maar verder niets. Geen webserver, geen database, geen firewall. Dat installeer je allemaal zelf. Het klinkt intimiderend, maar met deze handleiding heb je binnen een uur een werkende, veilige server.

We gaan ervan uit dat je een VPS hebt met Ubuntu (de meest gebruiksvriendelijke keuze). De principes gelden ook voor andere distributies, al kunnen commando's iets verschillen.

Stap 1: eerste verbinding maken

SSH-verbinding opzetten is de eerste stap. Je hebt nodig:

  • Het IP-adres van je VPS (staat in je welkomstmail)
  • Het root-wachtwoord (ook in de mail, of via dashboard)

Op Mac/Linux:

ssh root@123.456.789.0

Op Windows: gebruik PuTTY of Windows Terminal (Windows 10+).

Bij eerste verbinding wordt gevraagd of je de server vertrouwt. Type 'yes'. Voer het wachtwoord in.

Stap 2: systeem updaten

Altijd eerst updaten voordat je iets anders doet:

apt update && apt upgrade -y

Dit haalt de nieuwste pakketlijsten en installeert alle beschikbare updates. Herstart indien gevraagd:

reboot

Wacht een minuut en verbind opnieuw via SSH.

Stap 3: nieuwe gebruiker aanmaken

Nooit als root werken voor dagelijkse taken. Maak een normale gebruiker aan:

adduser jouwgebruiker

Geef een sterk wachtwoord en optionele info.

Sudo-rechten toekennen:

usermod -aG sudo jouwgebruiker

Test de nieuwe gebruiker in een nieuwe terminal:

ssh jouwgebruiker@123.456.789.0

Stap 4: SSH beveiligen

SSH-key authenticatie is veiliger dan wachtwoorden.

Op je lokale computer:

ssh-keygen -t ed25519
ssh-copy-id jouwgebruiker@123.456.789.0

Root login uitschakelen en wachtwoord-authenticatie disable:

sudo nano /etc/ssh/sshd_config

Wijzig:

PermitRootLogin no
PasswordAuthentication no

Herstart SSH:

sudo systemctl restart sshd

Let op: zorg dat je SSH-key werkt voordat je dit doet, anders sluit je jezelf buiten!

Stap 5: firewall instellen

UFW (Uncomplicated Firewall) is de makkelijkste optie:

sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

Dit blokkeert alle inkomende verbindingen behalve SSH, HTTP en HTTPS.

Firewall status bekijken:

sudo ufw status

Stap 6: fail2ban installeren

Fail2ban blokkeert IP-adressen na te veel mislukte loginpogingen:

sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

De standaardinstellingen zijn goed voor beginners. Na 5 mislukte SSH-pogingen wordt het IP 10 minuten geblokkeerd.

Stap 7: webserver installeren

Nginx is populair en efficiënt:

sudo apt install nginx
sudo systemctl enable nginx
sudo systemctl start nginx

Ga naar http://jouw-ip-adres in je browser. Je zou de Nginx welkomstpagina moeten zien.

Apache als alternatief:

sudo apt install apache2

Stap 8: PHP installeren

Voor WordPress en andere PHP-applicaties:

sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip

Nginx configureren voor PHP - maak een site config:

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

Voeg binnen de server block toe:

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}

Herstart Nginx:

sudo systemctl restart nginx

Stap 9: MySQL/MariaDB installeren

sudo apt install mariadb-server
sudo mysql_secure_installation

Beantwoord de vragen om de database te beveiligen.

Database en gebruiker aanmaken:

sudo mysql
CREATE DATABASE wordpress;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'sterkwachtwoord';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Stap 10: automatische updates

Unattended upgrades houden je server automatisch up-to-date:

sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

Kies 'Yes' om automatische updates in te schakelen.

Volgende stappen

SSL-certificaat installeren met Let's Encrypt:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d jouwdomein.nl

Monitoring instellen met tools zoals htop, netdata of externe services.

Backups configureren - dit is cruciaal. Gebruik snapshots van je provider of een tool zoals borgbackup.

Veelgemaakte fouten

Firewall voor SSH inschakelen zonder SSH-poort eerst toe te staan - je sluit jezelf buiten.

Root-login uitschakelen zonder eerst SSH-key te testen - zelfde probleem.

Updates vergeten - een ongepatcht systeem is kwetsbaar.

Geen backups - je VPS-provider maakt niet automatisch backups tenzij je dat configureert.

Server monitoring en onderhoud

Uptime monitoring is essentieel. Diensten als UptimeRobot of Pingdom waarschuwen je gratis wanneer je server niet bereikbaar is.

Resource monitoring toont CPU, RAM en schijfgebruik. Tools zoals htop (CLI), Netdata (web dashboard) of cloud-gebaseerde oplossingen geven inzicht.

Logbestanden analyseren helpt problemen op te sporen voordat ze kritiek worden. Bekijk regelmatig /var/log/syslog en /var/log/nginx (of apache2).

Automatische updates configureren zorgt dat beveiligingspatches tijdig worden geïnstalleerd. Ubuntu's unattended-upgrades is hiervoor ideaal.

Backup-strategie moet zowel bestanden als database omvatten. Test regelmatig of je backups daadwerkelijk te herstellen zijn.

Performance optimalisatie

SSD-opslag is standaard bij moderne VPS-providers en essentieel voor goede performance. Vermijd HDD tenzij je puur opslagcapaciteit nodig hebt.

PHP-FPM tuning door de juiste process manager (static, dynamic, ondemand) en pool-instellingen te kiezen voor je verwachte verkeer.

Database-optimalisatie via indexen, query-caching en regelmatige optimalisatie-runs. MariaDB en MySQL bieden tools hiervoor.

HTTP/2 en caching inschakelen in je webserver versnelt de levering van statische bestanden aanzienlijk.

OPcache voor PHP slaat gecompileerde scripts op en vermijdt hercompilatie bij elk verzoek.

Meer informatie: WordPress.org documentatie

Veelgestelde vragen

Hoe lang duurt het om dit te implementeren?

De implementatietijd varieert per situatie. Voor eenvoudige configuraties is dit binnen een uur geregeld, complexere setups kunnen enkele uren tot een dag duren.

Wat zijn de kosten?

De kosten zijn afhankelijk van je hosting provider en pakket. Veel basisfuncties zijn gratis inbegrepen, voor geavanceerde functies kunnen extra kosten gelden.

Heb ik technische kennis nodig?

Voor de basis heb je weinig technische kennis nodig. De meeste hosting providers bieden uitgebreide documentatie en support om je te helpen.

Was dit artikel nuttig?

Vergelijk direct hosting pakketten om de beste keuze voor jouw situatie te maken.

Klaar om te kiezen?

Vergelijk hosting pakketten