🖥️ Server huren & inrichten
Van lege Ubuntu-VPS naar een veilige basis voor je app — root uitschakelen, firewall aan.
Een VPS bestellen
Een VPS bestel je bij een hostingprovider. Na bestellen krijg je een IP-adres en een root-wachtwoord (of SSH-key). Voor deze track gebruiken we Ubuntu 22.04 LTS of Ubuntu 24.04 LTS.
- 1. Maak een account aan en activeer je GitHub Student Pack-krediet
- 2. Klik op "Create Droplet"
- 3. Kies: Ubuntu 24.04 LTS, regio Amsterdam (AMS3), Basic shared CPU
- 4. Kies de $6/maand plan (1 vCPU, 1 GB RAM, 25 GB SSD)
- 5. Voeg je SSH-key toe of kies "Password" (we vervangen dit snel)
- 6. Klik "Create Droplet" — na ~1 minuut is je server klaar
Eerste login als root
Open je terminal (WSL op Windows, Terminal op Mac) en verbind met je server via SSH. Vervang 123.45.67.89 door het IP-adres van jouw VPS.
ssh root@123.45.67.89
Je wordt gevraagd om het wachtwoord of je SSH-key wordt automatisch gebruikt. Bij eerste verbinding zie je een fingerprint-waarschuwing — typ yes.
apt update && apt upgrade -y
Dit kan 1–3 minuten duren. Alle bestaande software wordt bijgewerkt naar de nieuwste versies.
ssh, apt update en apt upgrade heb je al gezien in Linux les 1 en Linux les 8. Hier pas je ze toe op een echte server.
Non-root gebruiker aanmaken
Als root inloggen is gevaarlijk — elke typfout kan je server beschadigen. We maken een gewone gebruiker met sudo-rechten en schakelen root-login daarna uit.
adduser deploy
Kies een wachtwoord en druk enter door de vragen (naam etc. mag leeg). Gebruik deploy of je eigen naam als gebruikersnaam.
usermod -aG sudo deploy
rsync --archive --chown=deploy:deploy ~/.ssh /home/deploy
Dit kopieert de authorized_keys van root naar de nieuwe gebruiker, zodat je met dezelfde SSH-key kunt inloggen.
ssh deploy@123.45.67.89 sudo whoami # moet "root" teruggeven
Zorg dat je eerst kunt inloggen met de nieuwe gebruiker voordat je root-login uitschakelt. Anders sluit je jezelf buiten.
Root-login uitschakelen
Als de nieuwe gebruiker werkt, schakelen we root-login via SSH uit. Aanvallers proberen standaard als root in te loggen — dit blokkeren we.
nano /etc/ssh/sshd_config
Zoek de regel PermitRootLogin yes en verander hem naar:
PermitRootLogin no
PasswordAuthentication no
Alleen doen als je zeker weet dat je SSH-key werkt!
systemctl restart ssh
nano, systemctl restart en SSH-configuratie heb je behandeld in Linux les 6 (services) en Linux les 8 (SSH).
Firewall instellen met ufw
ufw (Uncomplicated Firewall) is de eenvoudigste manier om je server te beveiligen. Je laat alleen de poorten open die je nodig hebt.
ufw default deny incoming ufw default allow outgoing
ufw allow ssh ufw allow http ufw allow https
ufw enable ufw status
Bevestig met y. Status toont alle actieve regels.
22SSH — jouw toegang tot de server80HTTP — wordt later doorgestuurd naar HTTPS443HTTPS — beveiligd webverkeerAutomatische security-updates
Een server die 24/7 online staat heeft automatische beveiligingsupdates nodig. Ubuntu heeft hier een ingebouwde tool voor: unattended-upgrades.
apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades
Kies Yes in het venster dat verschijnt.
systemctl status unattended-upgrades
Kennischeck
Les 2 afronden
Ga door naar: PHP, Composer & MySQL installeren →