# Een website of applicatie online zetten

Uw VPS Ultra heeft een eigen IPv4-adres en een IPv6-adres: uw domeinen wijzen rechtstreeks naar die adressen, en uw server ontvangt het verkeer op alle poorten die u opent. U bedient zoveel websites en domeinen als u wilt.

## 1. Uw domein naar uw server laten wijzen

Maak, daar waar de DNS-zone van uw domein wordt beheerd, twee records aan met de adressen uit de kaart van uw server, rubriek **VPS** van uw klantenruimte:

| Type   | Naam                                 | Waarde                          |
| ------ | ------------------------------------ | ------------------------------- |
| `A`    | `@`, `www` of het gewenste subdomein | het **IPv4-adres** uit uw kaart |
| `AAAA` | dezelfde naam                        | het **IPv6-adres** uit uw kaart |

Wordt de DNS-zone van uw domein door Simafri beheerd, dan zet ons team deze records voor u: schrijf ons. Vraag ons ook, voordat u een website die al online is overschakelt, de levensduur (TTL) van het record te verlagen.

Om het vanaf uw computer te controleren:

```
dig +short A app.mijn-bedrijf.nl

dig +short AAAA app.mijn-bedrijf.nl
```

## 2. Uw webserver en uw certificaat installeren

Twee gangbare keuzes onder Linux:

* **Caddy**, dat uw HTTPS-certificaten zelf aanvraagt en vernieuwt:

  ```
  apt install caddy
  ```

  daarna, in `/etc/caddy/Caddyfile`:

  ```
  app.mijn-bedrijf.nl {

      reverse_proxy 127.0.0.1:3000

  }
  ```

  en `systemctl reload caddy`;

* **Nginx** of **Apache**, met **Certbot** voor het Let's Encrypt-certificaat:

  ```
  apt install nginx certbot python3-certbot-nginx

  certbot --nginx -d app.mijn-bedrijf.nl -d www.app.mijn-bedrijf.nl
  ```

  Certbot zet het certificaat, voegt het luisteren op poort 443 toe en plant de automatische vernieuwing ervan.

Onder Windows Server levert **IIS** uw websites, en een ACME-client zoals win-acme zet en vernieuwt daar uw Let's Encrypt-certificaten.

## 3. Uw applicatie draaiende houden

Een Node.js-, Python-, Go- of Java-applicatie die continu draait, vertrouwt u toe aan **systemd**: ze start met de server en herstart vanzelf als ze stopt. Voorbeeld, in `/etc/systemd/system/app.service`:

```
[Unit]

Description=Mijn applicatie

After=network.target



[Service]

WorkingDirectory=/srv/app

ExecStart=/usr/bin/node server.js

Restart=always

Environment=NODE_ENV=production

User=www-data



[Install]

WantedBy=multi-user.target
```

```
systemctl daemon-reload

systemctl enable --now app

journalctl -u app -f    # de logs volgen
```

Docker en Docker Compose installeert u ook zoals op elke Linux-server.

## 4. Uw database

PostgreSQL, MySQL, MariaDB, Redis of MongoDB installeert u met de pakketbeheerder, of vanuit de officiële repository van de uitgever. Het gegarandeerde geheugen van uw VPS Ultra leent zich goed voor een veeleisende database: stel het werkgeheugen ervan in (`shared_buffers` voor PostgreSQL, `innodb_buffer_pool_size` voor MySQL) op basis van het geheugen van uw formaat.

Laat uw database luisteren op `localhost`, en beheer haar vanaf uw computer via een SSH-tunnel:

```
ssh -L 5432:localhost:5432 root@app.mijn-bedrijf.nl
```

Uw tool (DBeaver, pgAdmin, TablePlus) maakt dan verbinding met `localhost:5432`.

## Veelgestelde vragen

### Mijn website toont een certificaatfout.

Controleer in deze volgorde: uw records `A` en `AAAA` wijzen naar de adressen uit uw kaart (`dig`), uw webserver luistert op de poorten 80 en 443 (`ss -tlnp`), uw firewall laat ze door (`ufw status`), en het certificaat dekt deze naam (`certbot certificates`).

### Kan ik meerdere websites hosten op mijn VPS Ultra?

Ja, zoveel als u wilt: laat elk domein naar uw adressen wijzen en voeg het blok ervan toe aan uw webserver.
