Direct naar de inhoud

Cookie-instellingen

Kies per soort welke cookies je toestaat. Je kunt je keuze altijd wijzigen via Cookie-instellingen onderaan elke pagina. Privacyverklaring

Noodzakelijk

Altijd aan

Nodig om in te loggen, je winkelwagen te bewaren en je keuzes te onthouden. Deze staan altijd aan.

Welke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: je sessie en ingelogd blijven
  • weboke_basket: je winkelwagen
  • wkBtwIncl: prijzen met of zonder btw tonen
  • wok_cookies: je cookiekeuze, 12 maanden

Meet welke advertentie tot een bezoek of bestelling leidt, zodat we niet betalen voor advertenties die niets doen.

Welke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), tot 90 dagen
  • OpenAI Ads, advertenties in ChatGPT
  • wok_aff: via welke partner je bij ons kwam (affiliateprogramma), 60 dagen

4,6

Land en taal

Elk land heeft zijn eigen site, met prijzen en btw van dat land.

Bekijken

Eigen cloud-init: je VPS bij de eerste start automatisch inrichten

Met cloud-init geef je bij het installeren een bestand mee dat je VPS bij de eerste start zelf uitvoert. Zo installeert je server meteen je vaste pakketten, maakt hij je eigen gebruiker aan en voert hij je commando's uit. Handig als je vaker opnieuw installeert of altijd met dezelfde basis wilt beginnen. Je hebt er geen API of terminal voor nodig.

Waar vul je het in?

  1. Open het VPS-scherm via Mijn Producten.
  2. Nieuwe VPS: je ziet het blok Installeer je VPS (zie Je VPS installeren: besturingssysteem, wachtwoord en SSH-sleutel). Opnieuw installeren: kies het tabblad Geavanceerd en klik bij Opnieuw installeren op Installeer opnieuw... (zie Opnieuw installeren of een ISO koppelen).
  3. Kies het besturingssysteem en vul het root-wachtwoord en eventueel je SSH-sleutel in, zoals altijd.
  4. Klik onder de SSH-sleutel op Eigen cloud-init. Het veld klapt open.
  5. Plak je bestand in het veld.
  6. Klik op de knop om te installeren, bijvoorbeeld Installeer Debian 13, of bij opnieuw installeren op Wis alles en installeer opnieuw.

Het root-wachtwoord of de SSH-sleutel blijft nodig, ook met een eigen cloud-init. Daarmee kom je altijd binnen, ook via de console (zie De console: je VPS in je browser).

Wat mag er in het bestand?

Het veld neemt user-data aan, het bestand dat cloud-init bij de eerste start leest. De eerste regel bepaalt wat het is:

Eerste regelWat is het?
#cloud-configInstellingen in YAML: pakketten, gebruikers, bestanden, commando's. Dit gebruik je meestal.
#!, bijvoorbeeld #!/bin/bashEen script. Het draait één keer als root, aan het eind van de eerste start.
#cloud-boothookEen script dat heel vroeg in de start draait, bij elke start opnieuw. Alleen voor gevorderden.
## template: jinjaEen sjabloon met variabelen van cloud-init. Op de regel daaronder staat dan #cloud-config of #!.
  • Maximaal 256 KB, en alleen tekst (UTF-8).
  • In YAML spring je in met spaties, nooit met tabs.
  • Het netwerk (IPv4 en IPv6) regelt WebOké. Een eigen network-config wordt niet gebruikt; zet er dus geen netwerkinstellingen in.

Een voorbeeld

Dit bestand werkt alle pakketten bij, installeert htop en fail2ban, maakt de gebruiker anna aan met je SSH-sleutel en sudo, geeft de server een eigen naam en zet de tijdzone goed:

#cloud-config
hostname: web1
fqdn: web1.example.com
package_update: true
package_upgrade: true
packages:
  - htop
  - fail2ban
users:
  - default
  - name: anna
    shell: /bin/bash
    sudo: "ALL=(ALL) NOPASSWD:ALL"
    ssh_authorized_keys:
      - ssh-ed25519 AAAAC3Nza... anna@laptop
runcmd:
  - timedatectl set-timezone Europe/Amsterdam

Vervang de sleutel door je eigen publieke sleutel (zie Een SSH-sleutel maken op Windows, Mac en Linux). De regel - default laat de standaardgebruiker staan, zodat het root-wachtwoord en de SSH-sleutel uit het formulier gewoon blijven werken. Na de eerste start log je in met ssh anna@203.0.113.10. Hoe je daarna inloggen als root uitzet en fail2ban instelt, lees je in Inloggen met een wachtwoord en als root uitzetten en fail2ban tegen raadpogingen.

Tip: Het voorbeeld is voor Debian en Ubuntu. Op AlmaLinux en Rocky Linux staan htop en fail2ban in de extra bron EPEL. Laat daar packages weg en zet onder runcmd eerst dnf install -y epel-release en daarna dnf install -y htop fail2ban.

Wat geeft WebOké zelf mee?

WebOké geeft altijd de hostnaam, het root-wachtwoord (alleen als hash) en je SSH-sleutel mee. Jouw bestand wordt daarmee samengevoegd. Zet je zelf users, password, chpasswd of ssh_authorized_keys, dan gaan die van jou voor op wat WebOké meegeeft.

Let op: Zet je zelf ssh_authorized_keys of password op het hoogste niveau van je bestand, dan vervangen die de sleutel en het wachtwoord uit het formulier. Zet er dan zelf de sleutel in waarmee je wilt inloggen, anders kom je alleen nog via de console binnen.

Is het gelukt?

cloud-init draait één keer, bij de eerste start na het installeren. Dat duurt soms een paar minuten langer dan de installatie zelf, zeker als er pakketten worden geïnstalleerd. Log in en kijk:

anna@web1:~$ cloud-init status --long
anna@web1:~$ sudo tail -n 30 /var/log/cloud-init-output.log
anna@web1:~$ sudo cloud-init schema --system
  • cloud-init status --long toont status: done als alles klaar is, running als hij nog bezig is en error als er iets misging, met de fout erbij. Met cloud-init status --wait wacht je tot hij klaar is.
  • In /var/log/cloud-init-output.log staat de uitvoer van je pakketten, commando's en scripts. Meer details staan in /var/log/cloud-init.log.
  • cloud-init schema --system controleert je bestand op fouten. Klopt de YAML niet, dan slaat cloud-init de delen over die hij niet begrijpt, zonder dat de installatie mislukt.

Ging er iets mis? Herstel het met de hand op de server, of pas je bestand aan en installeer opnieuw. Opnieuw installeren wist wel alles op je VPS.

Goed om te weten

  • Het werkt voor alle besturingssystemen in de lijst: Ubuntu 24.04 en 26.04, Debian 12 en 13, AlmaLinux 9 en 10 en Rocky Linux 9 en 10.
  • Je bestand wordt versleuteld doorgegeven en niet bewaard in de geschiedenis van de taken van je VPS. Zet er toch geen wachtwoorden of andere geheimen in die je niet nodig hebt.
  • Alle mogelijkheden staan in de documentatie van cloud-init op docs.cloud-init.io.

Let op: De inhoud van je cloud-init is jouw zaak. Support kijkt niet naar je bestand en helpt niet met het schrijven of verbeteren ervan.

Even geduld…

Stel je domeinen in

Regel per domein de nameservers, de koppeling aan je hosting en wie de eigenaar wordt.

Je domeinen laden…