# Je eigen Ubuntu VPS of dedicated server koppelen

> Koppel elke Ubuntu 24.04 VPS of dedicated server met één commando aan Vimonto Deploy, bij elke hostingprovider, en laat hem inrichten voor Laravel en PHP.

Een eigen VPS is een server die je al hebt, bij welke hostingprovider dan ook of in je eigen datacenter, en die je koppelt aan Vimonto Deploy in plaats van dat Vimonto Deploy hem aanmaakt. Je vult het IP-adres in, voert één commando uit als root, en Vimonto Deploy [richt hem in](https://ops.vimonto.com/docs/nl/servers/provisioning) precies zoals een server die het zelf heeft aangemaakt: dezelfde software, dezelfde beveiliging, dezelfde pagina's.

Gebruik een eigen VPS als je provider niet een van de [gekoppelde cloudproviders](https://ops.vimonto.com/docs/nl/connections/server-providers) is, als je dedicated hardware huurt, of als je een server wilt hergebruiken waar je al voor betaalt.

![De wizard voor een nieuwe server met Eigen server gekozen als provider](https://ops.vimonto.com/docs-media/nl/create-server-custom.webp?v=161e760d "Kies Eigen server in de eerste stap van de wizard")

## Vereisten

Je server moet hebben:

- **Een schone installatie van Ubuntu 24.04 of 26.04 (x64).** Het verbindingsscript en het inrichten weigeren elk ander systeem. Gebruik een nieuwe server: het inrichten configureert Nginx, PHP, de firewall en SSH, en vervangt instellingen die er al zijn.
- **Een publiek IP-adres dat bereikbaar is via het internet.** Vimonto Deploy maakt er verbinding mee via SSH.
- **Root-toegang via SSH, en `curl`.** Je voert het verbindingscommando uit als root (of met `sudo`).
- **Minstens 1 CPU, 1 GB geheugen en 10 GB schijfruimte.**

De server moet Vimonto Deploy ook kunnen bereiken via HTTPS: het verbindingsscript downloadt ervan en meldt zich terug, en de monitoring-agent stuurt er elke minuut zijn metingen naartoe.

## Stap voor stap een server koppelen

1. Ga naar **Servers** → **Nieuwe server**.
2. Kies onder **Provider** voor **Eigen server**.
3. Kies onder **Server** het [servertype](https://ops.vimonto.com/docs/nl/servers/server-types). Vul daarna onder **Hoe bereiken we je server?** het **Publiek IP-adres** en de **SSH-poort** in (22, tenzij je server een andere poort gebruikt).
4. Kies onder **Software** de naam, PHP-versie, database en je SSH-sleutels, net als bij [elke nieuwe server](https://ops.vimonto.com/docs/nl/servers/create-a-server#3-software-naam-php-database-en-sleutels).
5. Kies in het overzicht **Server aanmaken**.

De server heeft nu de status **Wacht op verbinding**, en de pagina toont **Verbind je server**:

1. **Log in op je server als root**, bijvoorbeeld `ssh root@203.0.113.10`.
2. **Voer dit commando uit.** Kopieer het met **Kopiëren**; het ziet er zo uit:

   ```bash
   curl -fsSL 'https://…/provisioning/123/…' -o vimonto-connect.sh && sudo bash vimonto-connect.sh
   ```

3. **Wij doen de rest.** De pagina toont "Wachten tot je server zich meldt…" en schakelt over naar de voortgang van het inrichten zodra het script zich heeft teruggemeld.

## Wat doet het verbindingscommando?

Het commando downloadt een kort bash-script dat voor deze server is gemaakt en voert het uit als root. Het script:

1. controleert of het als root draait, en stopt als dat niet zo is;
2. controleert of het systeem Ubuntu 24.04 of 26.04 is, en stopt anders met de versie die het vond;
3. voegt de publieke sleutel van Vimonto Deploy voor deze server toe aan `/root/.ssh/authorized_keys` (elke server heeft een eigen sleutelpaar);
4. installeert `curl` als dat ontbreekt;
5. meldt aan Vimonto Deploy dat de server klaar is, en toont "Connected to Vimonto Deploy. The server is being provisioned now; follow the progress in your browser."

Meer verandert het niet. Al het andere gebeurt via SSH vanuit Vimonto Deploy, als inrichtingstaak die je volgt op de pagina van de server.

Het adres in het commando bevat een geheime token voor deze server. Het werkt alleen zolang de server wacht op verbinding (of na een mislukte poging), en werkt niet meer zodra de server is ingericht. Het commando twee keer uitvoeren kan geen kwaad: de tweede aanroep start geen tweede inrichting.

> [!NOTE]
> De eerste keer dat Vimonto Deploy verbinding maakt, slaat het de SSH-hostsleutel van de server op. Toont de server later een andere hostsleutel, bijvoorbeeld omdat hij opnieuw is geïnstalleerd, dan weigert Vimonto Deploy verbinding te maken. Zo voorkom je dat je met de verkeerde machine verbindt.

## Welke SSH-sleutels worden toegevoegd?

Het inrichten voegt de SSH-sleutels van de organisatie en de accountsleutels die bij het aanmaken van de server onder **Jouw SSH-sleutels** zijn gekozen toe, voor de servergebruiker en root. Die keuze wordt bij de server bewaard: het maakt niet uit hoe lang het duurt voordat je het commando uitvoert, en **Opnieuw proberen** installeert dezelfde sleutels. Later voeg je sleutels toe of haal je ze weg op de pagina **SSH-sleutels** van de server. Zie [SSH-sleutels](https://ops.vimonto.com/docs/nl/connections/ssh-keys).

## Firewall, poorten en NAT

Het inrichten zet de firewall `ufw` aan: die weigert al het binnenkomende verkeer, behalve:

- de **SSH-poort** die je invulde;
- de poort waarop de SSH-daemon zelf luistert, als dat een andere is;
- poort 80 en 443 op servers met Nginx (app-servers, webservers en load balancers).

Beide SSH-poorten toestaan is belangrijk als je server **achter NAT of port forwarding** staat: je vult de buitenpoort (bijvoorbeeld 2222) in als **SSH-poort**, terwijl `sshd` binnen op 22 luistert. Beide worden toegestaan, dus Vimonto Deploy sluit zichzelf nooit buiten.

Staat je server achter NAT? Stuur dan de SSH-poort, en voor een webserver ook poort 80 en 443, door naar de server. Heeft je hostingprovider een eigen firewall voor de server, open daar dan dezelfde poorten. Meer regels voeg je later toe op de pagina [netwerk](https://ops.vimonto.com/docs/nl/servers/network).

## Wat als er niets gebeurt na het commando?

Blijft de pagina wachten?

- Controleer de uitvoer van het script op de server. Het stopt met een duidelijke melding als het niet als root draait of als het systeem geen Ubuntu 24.04 of 26.04 is.
- Controleer of de server Vimonto Deploy kan bereiken via HTTPS (`curl` moet het script kunnen downloaden en de terugmelding kunnen versturen).

Start het inrichten wel, maar mislukt het bij **Wachten tot de server SSH accepteert**? Dan kan Vimonto Deploy de server niet bereiken op het IP-adres en de SSH-poort die je invulde. Controleer de firewall bij je hostingprovider, de port forwarding, en of de sleutel in `/root/.ssh/authorized_keys` staat. Vimonto Deploy blijft het 15 minuten proberen.

Is het inrichten mislukt, kies dan **Opnieuw proberen** op de pagina van de server. Heeft de server zich nooit teruggemeld, dan gaat hij terug naar **Wacht op verbinding** en voer je het commando opnieuw uit. Anders start het inrichten opnieuw via SSH. Zie [inrichten](https://ops.vimonto.com/docs/nl/servers/provisioning#wat-als-het-inrichten-mislukt).

## Veelgestelde vragen

### Kan ik een server koppelen waarop al websites draaien?

Dat raden we af. Het inrichten is bedoeld voor een schone Ubuntu-installatie: het vervangt de configuratie van SSH, de firewall, Nginx en PHP, en zet inloggen met een wachtwoord uit. Gebruik een nieuwe server en verhuis je sites ernaartoe.

### Werkt een eigen VPS anders dan een cloudserver?

Nee. Zodra hij is ingericht, heeft hij dezelfde pagina's en functies. De enige verschillen: Vimonto Deploy heeft hem niet aangemaakt en kan hem dus niet bij een provider verwijderen, en de kosten in het overzicht zijn "Zoals bij je provider".

### Kan ik een server met een privé-IP-adres gebruiken?

Vimonto Deploy moet de server via SSH kunnen bereiken, en de server moet Vimonto Deploy kunnen bereiken. Vul een adres in waarmee Vimonto Deploy verbinding kan maken. Voor een server achter NAT is dat het publieke adres met een doorgestuurde SSH-poort.

### Welke Linux-distributies worden ondersteund?

Alleen Ubuntu, versie 24.04 of 26.04, op x64.
