Zo zet je in een handomdraai je eigen virtual private server op
Wil je een server op internet met volledig beheer over het besturingssysteem, bijvoorbeeld voor testen en ontwikkelen? Dan is een virtual private server (VPS) een heel handige optie. Je hebt ze in een handomdraai operationeel en je kunt je als root-gebruiker uitleven met al je probeersels. De prijzen zijn erg schappelijk door de gedeelde processorkracht.
Na het lezen van dit artikel is je duidelijk waar je rekening mee moet houden als je een VPS wilt gaan gebruiken. Denk bijvoorbeeld aan:
- Hoelang je van plan bent de server te gaan gebruiken
- Welk besturingssysteem je wilt installeren
- Welk platform jouw voorkeur heeft
- Of je met containers wilt werken
- Welke extra software je eventueel wilt installeren
Ook interessant: Eigen cloud maken met ownCloud
Voor een server op internet in eigen beheer was een dedicated server lange tijd de enige optie. Maar ze hebben best wat nadelen, onder meer dat ze duur zijn, de hardware onderhoud nodig heeft en dat de rekenkracht maar zelden efficiënt wordt benut. Virtualisatie heeft de hostingwereld flink opgeschud. Steeds vaker wordt een dedicated server ingeruild voor een virtual private server (VPS). Je kunt zo’n systeem gebruiken zoals elke server: met een besturingssysteem naar voorkeur, wat vaak Linux zal zijn.
Een systeem wordt hierbij gedeeld met andere virtuele servers. Dat hoeft geen groot bezwaar te zijn. Een typische server zal immers zelden volop worden belast. Het delen van een server zorgt voor een veel hogere efficiëntie en drukt de prijzen daarom enorm. Voor minder dan 5 euro per maand heb je een basissysteem met bijvoorbeeld een gedeelde processorkern en 1 gigabyte geheugen. Zit je erom verlegen, dan heb je ze meestal met een paar klikken online. Maar hoe kies je een VPS en waar moet je op letten? Wat zijn de meest praktische besturingssystemen? En hoe begin je met het inrichten van zo’n systeem? In dit artikel helpen we je op weg.
Wat voor VPS?
In dit artikel gaan we uit van een VPS met gedeelde processorkracht. Providers gebruiken hier geen gangbare termen voor. Dat maakt het zoeken en vergelijken wat lastiger. Het bedrijf DigitalOcean noemt deze VPS’en bijvoorbeeld droplets, Vultr gebruikt de term Cloud Compute, bij Linode vind je ze onder de noemer shared cpu en bij Contabo heten ze Cloud VPS. Wat je krijgt, komt op papier wel overeen, al kunnen de prestaties erg uiteenlopen (zie het kader ‘Prestaties van je VPS’). Hoewel veel providers de laatste jaren de stijgende kosten hebben doorberekend aan gebruikers, zijn de meeste instapproducten heel laag geprijsd en daarmee echte publiekstrekkers. Bij veel providers kun je voor een VPS niet alleen voor gedeelde processorkracht kiezen, maar ook voor gereserveerde of ‘dedicated’ processorkernen, die dus niet worden gedeeld. Voor testen en ontwikkelen zal dat niet snel nodig zijn. Bovendien wordt, gelet op de veel hogere prijs, een ‘echte’ dedicated server dan meestal weer interessanter.
Prestaties van je VPS De uiteindelijke prestaties van een VPS kunnen erg uiteenlopen en die zijn niet heel goed te voorspellen. Sommige providers doen het beter dan andere. Er bestaande talloze benchmarks die mensen gebruiken om de prestaties te kunnen meten en onderling vergelijken, waaronder bench, nench en VPSbench.
Zulke scripts laten doorgaans nuttige systeeminformatie zien over bijvoorbeeld de processor en het geheugen. Ook testen ze bijvoorbeeld de netwerkprestaties, de tijd die de processor nodig heeft voor een bepaalde set taken en de vaak onderbelichte lees- en schijfprestaties van de opslag.
Je eigen ervaringen zullen uiteindelijk vaak de doorslag geven. Gelukkig zit je zelden lang vast aan een keuze.
Korte of lange looptijd?
Het is handig om vooraf over de gewenste looptijd na de denken. Gaat het om een heel korte periode, dan zijn providers als Vultr, Linode, DigitalOcean en Hetzner interessant. Hier kun je een VPS ook prima voor een paar dagen huren. Achteraf, op het moment dat je de VPS verwijdert, kijken ze naar het aantal uren dat de VPS in die maand actief was, waardoor je dus eigenlijk maar een deel van het maandtarief betaalt. Hoeveel uur je daadwerkelijk op de VPS hebt gewerkt, is daarbij overigens niet relevant.
Als je een VPS langere tijd gaat gebruiken, zal dit minder belangrijk zijn. Je hebt dan ook wat meer opties. Zo huur je bij Strato Duitsland bijvoorbeeld al vanaf 1 euro per maand een bescheiden virtuele Linux-server, met een looptijd van twaalf maanden. De oplevering is echter niet direct. Als het niet bevalt, kun je de server binnen dertig dagen opzeggen (zoals alle producten van Strato overigens) en je geld terug krijgen, dus het risico is bescheiden.
Voor onder andere Vultr en DigitalOcean kun je eenvoudig promotiecodes vinden waarmee je alles met korting of zelfs zonder enige kosten kunt proberen gedurende één of twee maanden.
Klein beginnen
Een belangrijk voordeel van een VPS, naast de vaak lagere kosten, is een veel betere schaalbaarheid. Je kunt meestal licht beginnen en later opschalen naar een zwaardere server. Controleer dit wel bij de betreffende provider als dat belangrijk voor je is!
Meestal raden we aan bescheiden te beginnen. Je kunt namelijk vaak wel upgraden, maar niet zomaar downgraden naar een eenvoudiger pakket. Dat kan dan alleen door het verwijderen van de oude server en het opzetten van de nieuwe server. Je begint dan weer met een schone lei, tenzij je bijvoorbeeld via een back-up of snapshot de omgeving kunt herstellen.
Met welke specificaties je begint, zal vooral afhankelijk zijn van het doel van de server. Naast bijvoorbeeld het aantal processorkernen en de geheugencapaciteit is het ook raadzaam te controleren of er een bandbreedtelimiet is. Bij normaal gebruik zul je er ver onder blijven, maar misschien heb je toepassingen op het oog die veel verkeer zullen genereren.
Of je gaat toch voor een fysieke server
Je vindt een grote selectie bij Bol.com
Beperkte ondersteuning Van ondersteuning mag je niet te veel verwachten bij een VPS die je voor een habbekrats opzet. De wachttijd is vaak lang en meestal hoef je geen reactie te verwachten buiten kantooruren. Dat is vooral lastig als er een technisch probleem is buiten jouw macht om. Als het om bijvoorbeeld softwareperikelen gaat, zul je die zelf moeten oplossen. Maar dat ben je wellicht al gewend. Gelukkig is internet ruim voorzien van installatiegidsen over internettoepassingen zoals Nginx, php en MySQL. Vooral de instructies van DigitalOcean worden vaak genoemd.
Besturingssysteem
Bij de keuze van een besturingssysteem heb je heel veel opties, die wel per provider verschillen. Al zien we veel gemeenschappelijke keuzes zoals Ubuntu, Debian, ArchLinux, CentOS en Fedora. Uiteindelijk zal je keuze afhangen van de toepassingen die je gaat gebruiken, en jouw eigen kennis en ervaring.
Als je voor wat testdoeleinden een VPS gaat opzetten, gebruik dan vooral iets waar je al mee hebt leren werken. Voor veel mensen is dat Debian of Ubuntu. Je profiteert dan ook van de grootste repository’s met opensource-software. De keuze voor bijvoorbeeld het lichte en efficiënte Alpine Linux is een sprong in het diepe als je er niet mee hebt gewerkt. De relatief kleine besparing in processor- en geheugengebruik is de moeite niet waard voor een doorsnee gebruiker.
Bij sommige providers kun je een iso-bestand uploaden als basis voor je VPS. Die optie is handig voor maatwerk of als je met een exotisch besturingssysteem wilt werken. Bovendien kun je via een iso-bestand met een recenter image werken dan de provider standaard aanbiedt. Onder meer bij Vultr en DigitalOcean kun je een met een specifiek iso-bestand werken.
Ontwikkelingen besturingssystemen
Het is slim de ontwikkelingen wat betreft besturingssystemen in de gaten te houden. Werk je graag met het op Red Hat Enterprise Linux (RHEL) gebaseerde CentOS, dan zijn de opensource-distributies AlmaLinux en Rocky Linux tegenwoordig interessante alternatieven, wetende dat CentOS uit wordt gefaseerd.
Een andere ontwikkeling is het groeiende gebruik van containers, zoals Docker of Kubernetes. Ook op een VPS kun je doorgaans prima met die technieken werken. Er zijn sinds enkele jaren voor dat doel geoptimaliseerde besturingssystemen (zie het kader ‘Werken met containers op je VPS’). Bij enkele providers kun je die selecteren. Al werkt zoiets als Docker natuurlijk ook prima onder Debian of Ubuntu.
Werken met containers op je VPS Een VPS is in feite een virtuele machine die draait op een zogeheten hypervisor. In de hostingwereld is dat vaak een KVM (Kernel-based Virtual Machine). Je kunt over het algemeen geen hypervisor in een VPS installeren, ook wel geneste virtualisatie genoemd. Wel kun je doorgaans met containers werken in je VPS, zoals Docker en Kubernetes. Wil je die richting op, dan kun je eventueel een besturingssysteem overwegen dat volledig is gericht op het werken met containers, zoals RancherOS of Fedora CoreOS.
Deze besturingssystemen worden ook wel microbesturingssystemen genoemd, omdat ze erg minimalistisch zijn. Ze bieden net genoeg om met containers te werken. Je kunt je daardoor volledig richten op het beheren van containers in plaats van het onderhouden van het besturingssysteem.
Wil je toch met een hypervisor werken? Een dedicated server is een goede kandidaat voor een hypervisor, zoals Proxmox VE. Daarin kun je met zowel Linux-containers (LXC) als virtuele machines op basis van KVM werken.
Extra software
Een VPS wordt doorgaans ‘kaal’ opgeleverd, zonder aanvullende pakketten. Omdat je volledige root-toegang hebt, kun je alle vereisten zelf installeren. Soms kun je wel aanvullende pakketten kiezen. Een controlepaneel zoals Plesk, Webmin of het vaak prijzige cPanel kan erg praktisch zijn voor het beheer van je server.
Wil je voor het web gaan ontwikkelen, dan kun je bijvoorbeeld een zogenoemde LEMP-stack laten installeren, wat staat voor de combinatie van Linux met de webserver Nginx, de databaseserver MySQL en de programmeeromgeving PHP. Wil je jouw VPS instellen als privé-VPN, zodat je bijvoorbeeld wat veiliger kunt surfen op openbare netwerken, dan is dat ook een mooie toepassing. WireGuard is daarbij een populaire optie. Maar ook bijvoorbeeld UTunnel VPN en WarpSpeed VPN kun je bij Vultr laten installeren.
Keuze platform
Als je denkt dat je alle opties hebt gezien, krijg je bij het inrichten van een VPS soms nog meer keuzes. Zo kun je bij Vultr bij het inrichten van je VPS, in dit geval Cloud Compute genoemd, AMD of Intel als platform kiezen. En bij Intel heb je nog de keuze tussen High Performance, High Frequency en Regular Performance.
Ook andere providers geven je hier vaak een keuze in. Zo kun je bij Hetzner sinds 2023 naast de gangbare x86-architectuur ook voor hosting kiezen op basis van Ampere Ultra-processors die de arm64-architectuur gebruiken. De hostingpakketten hebben een zeer goede prijs-prestatieverhouding, geholpen door de hoge efficiëntie van deze processors. Een minpunt is dat sommige software, bijvoorbeeld bepaalde Docker-containers, niet voor deze architectuur beschikbaar is.
Aanvraagprocedure
De aanvraagprocedure verschilt uiteraard per provider, maar als je weet wat je nodig hebt, zijn de stappen meestal niet lastig meer. Bij Vultr maak je eerst een account aan en voeg je een betaalmethode toe. Als je via je omgeving naar Products gaat, kun je onder Instances met de optie Deploy Server een nieuwe VPS inrichten. We kiezen de optie Cloud Compute. Als platform kiezen we Intel met de optie High Frequency. Daaronder kun je een locatie kiezen. Vultr heeft datacenters wereldwijd, waaronder Amsterdam. Die optie kiezen we hier. Andere opties dicht bij huis zijn bijvoorbeeld Frankfurt en Londen.
Als besturingssysteem kiezen we Ubuntu 22.04 LTS, maar je kunt ook uit veel andere opties of extra software kiezen. Hierna kies je de omvang van de server. Als voorbeeld kiezen we 32 GB opslag, 1 vCPU, 1 GB geheugen en 1 TB bandbreedte.
Let op de eventuele extra’s die standaard zijn aangevinkt, maar die je misschien niet nodig hebt. Zo staat bij Vultr standaard de optie voor automatische back-ups aan, waar je ook extra voor betaalt. Ten slotte wordt met Deploy Now de server aangemaakt. Dit gaat geheel automatisch en vrijwel direct daarna kun je al gebruikmaken van de VPS. Maar niet alle providers hebben een volledig geautomatiseerd proces.
Toegang tot de server
Via je omgeving kun je op het tabblad Overview de details van de server opvragen. Eventueel open je hier een console voor het beheer van je software, zoals de installatie van software. Maar je kunt natuurlijk ook inloggen met ssh en je favoriete client. Bij de aanvraag zag je wellicht de optie om ssh-sleutels toe te voegen. Maar je kunt ook met gebruikersnaam en wachtwoord inloggen. Het standaard toegekende wachtwoord voor het root-account vind je bij de serverdetails. Uiteraard is het raadzaam dit direct na het inloggen te veranderen.
Je hoeft je bij het beheer van je server natuurlijk niet te beperken tot het root-account. Het is zelfs veiliger om een extra account te maken dat je aan de sudo-groep toevoegt. Dat account gebruik je dan voortaan om in te loggen en voor veel taken op het systeem. Onder Settings lees je verder onder meer het IPv4-adres af om mee te verbinden. Verder kun je eventueel upgraden naar een zwaarder pakket (maar niet downgraden). Je ziet ook een mogelijkheid een ander besturingssysteem te installeren, die kies je gewoon uit een lijst. Daardoor wordt uiteraard wel alle data op de server gewist.
Firewall voor toegangsbeperkingen
Bij de VPS van Vultr is toegang via ssh op poort 22 direct mogelijk, bijvoorbeeld met een programma als PuTTY. Handig om te weten, is dat er een firewall actief is die standaard alleen het verkeer naar die poort toestaat. De firewall zit andere toepassingen mogelijk in de weg.
Wil je bijvoorbeeld een webserver zoals Nginx gebruiken, dan moet je de toegang tot poorten 80 en/of 443 dus expliciet openzetten. Bij Ubuntu wordt UFW (Uncomplicated Firewall) als firewall gebruikt. Met het commando ufw status zie je in dat geval welke poorten zijn toegestaan. Zoals gezegd, is dat initieel alleen de ssh-poort 22. Met dit commando voeg je poort 80 voor http-verkeer eenvoudig toe:
ufw allow 80/tcp
En met dit commando ook poort 443 voor versleutelde verbindingen:
ufw allow 443/tcp
Andere providers zullen wellicht ook standaard een firewall gebruiken.