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.
Gerelateerde artikelen
Wat is webhosting? Uitleg voor beginners
Ontdek wat webhosting is en hoe het werkt. Complete uitleg over servers, domeinen en verschillende hosting types voor beginners.
Wat is VPS hosting?
VPS hosting uitgelegd: wat is een virtual private server, voor wie is het geschikt en wat zijn de voordelen ten opzichte van shared hosting?
Wat is een SSL-certificaat?
Alles over SSL-certificaten: wat is SSL, waarom heb je het nodig en hoe herken je een beveiligde website? Essentieel voor elke website.
Wat is uptime bij webhosting?
Wat betekent uptime bij webhosting? Leer over uptime percentages, SLA garanties en waarom 99.9% uptime belangrijk is voor je website.
Hoeveel opslag heb ik nodig voor mijn website?
Ontdek hoeveel schijfruimte je echt nodig hebt voor je website. Praktische gids met voorbeelden per websitetype.