# Sæt et websted eller en applikation online

Din VPS Ultra har sin egen IPv4-adresse og sin IPv6-adresse: dine domæner peger direkte på dem, og din server modtager trafikken på alle de porte, du åbner. Du leverer så mange websteder og domæner, du ønsker.

## 1. Peg dit domæne på din server

Der, hvor dit domænes DNS-zone administreres, opretter du to poster med de adresser, der vises på din servers kort i afsnittet **VPS** i dit kundeområde:

| Type   | Navn                                     | Værdi                         |
| ------ | ---------------------------------------- | ----------------------------- |
| `A`    | `@`, `www` eller det ønskede underdomæne | **IPv4-adresse** fra dit kort |
| `AAAA` | det samme navn                           | **IPv6-adresse** fra dit kort |

Når dit domænes DNS-zone administreres af Simafri, opretter vores team disse poster for dig: skriv til os. Før du flytter et websted, der allerede er online, så bed os også om at sænke postens levetid (TTL).

Sådan kontrollerer du det fra din computer:

```
dig +short A app.min-virksomhed.dk

dig +short AAAA app.min-virksomhed.dk
```

## 2. Installer din webserver og dit certifikat

To almindelige valg under Linux:

* **Caddy**, der selv henter og fornyer dine HTTPS-certifikater:

  ```
  apt install caddy
  ```

  og derefter, i `/etc/caddy/Caddyfile`:

  ```
  app.min-virksomhed.dk {

      reverse_proxy 127.0.0.1:3000

  }
  ```

  og `systemctl reload caddy`;

* **Nginx** eller **Apache** med **Certbot** til Let's Encrypt-certifikatet:

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

  certbot --nginx -d app.min-virksomhed.dk -d www.app.min-virksomhed.dk
  ```

  Certbot installerer certifikatet, tilføjer lytning på port 443 og planlægger den automatiske fornyelse.

Under Windows Server leverer **IIS** dine websteder, og en ACME-klient som win-acme installerer og fornyer dine Let's Encrypt-certifikater der.

## 3. Hold din applikation kørende

En Node.js-, Python-, Go- eller Java-applikation, der kører hele tiden, overlades til **systemd**: den starter med serveren og genstarter selv, hvis den stopper. Eksempel i `/etc/systemd/system/app.service`:

```
[Unit]

Description=Min applikation

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    # følg dens logfiler
```

Docker og Docker Compose installeres også som på enhver Linux-server.

## 4. Din database

PostgreSQL, MySQL, MariaDB, Redis eller MongoDB installeres med pakkehåndteringen eller fra producentens officielle pakkearkiv. Den garanterede hukommelse i din VPS Ultra egner sig godt til en krævende database: indstil dens arbejdshukommelse (`shared_buffers` for PostgreSQL, `innodb_buffer_pool_size` for MySQL) efter hukommelsen i din størrelse.

Lad din database lytte på `localhost`, og administrer den fra din computer via en SSH-tunnel:

```
ssh -L 5432:localhost:5432 root@app.min-virksomhed.dk
```

Dit værktøj (DBeaver, pgAdmin, TablePlus) forbinder derefter til `localhost:5432`.

## Ofte stillede spørgsmål

### Mit websted viser en certifikatfejl.

Kontroller i denne rækkefølge: dine `A`- og `AAAA`-poster peger på adresserne fra dit kort (`dig`), din webserver lytter på portene 80 og 443 (`ss -tlnp`), din firewall lukker dem igennem (`ufw status`), og certifikatet dækker dette navn (`certbot certificates`).

### Kan jeg hoste flere websteder på min VPS Ultra?

Ja, så mange du ønsker: peg hvert domæne på dine adresser, og tilføj dets blok til din webserver.
