# Publicera en webbplats eller en applikation

Din VPS Ultra har sin egen IPv4-adress och sin IPv6-adress: dina domäner pekar direkt mot dem, och din server tar emot trafiken på alla portar som du öppnar. Du levererar så många webbplatser och domäner du vill.

## 1. Peka din domän mot din server

Där DNS-zonen för din domän hanteras skapar du två poster med adresserna som visas på din servers kort, avsnittet **VPS** i ditt kundområde:

| Typ    | Namn                               | Värde                          |
| ------ | ---------------------------------- | ------------------------------ |
| `A`    | `@`, `www` eller önskad underdomän | **IPv4-adress** från ditt kort |
| `AAAA` | samma namn                         | **IPv6-adress** från ditt kort |

När DNS-zonen för din domän hanteras av Simafri lägger vårt team in de här posterna åt dig: skriv till oss. Innan du flyttar över en webbplats som redan är publicerad ber du oss också sänka postens livslängd (TTL).

Så här kontrollerar du från din dator:

```
dig +short A app.dittforetag.se

dig +short AAAA app.dittforetag.se
```

## 2. Installera din webbserver och ditt certifikat

Två vanliga val under Linux:

* **Caddy**, som själv skaffar och förnyar dina HTTPS-certifikat:

  ```
  apt install caddy
  ```

  sedan, i `/etc/caddy/Caddyfile`:

  ```
  app.dittforetag.se {

      reverse_proxy 127.0.0.1:3000

  }
  ```

  och `systemctl reload caddy`;

* **Nginx** eller **Apache**, med **Certbot** för Let's Encrypt-certifikatet:

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

  certbot --nginx -d app.dittforetag.se -d www.app.dittforetag.se
  ```

  Certbot installerar certifikatet, lägger till lyssning på port 443 och schemalägger den automatiska förnyelsen.

Med Windows Server levererar **IIS** dina webbplatser, och en ACME-klient som win-acme installerar och förnyar dina Let's Encrypt-certifikat där.

## 3. Hålla din applikation igång

En Node.js-, Python-, Go- eller Java-applikation som körs hela tiden anförtros åt **systemd**: den startar med servern och startar om av sig själv om den stannar. Exempel, 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ölj dess loggar
```

Docker och Docker Compose installeras också som på vilken Linux-server som helst.

## 4. Din databas

PostgreSQL, MySQL, MariaDB, Redis eller MongoDB installeras med pakethanteraren, eller från utgivarens officiella paketförråd. Det garanterade minnet i din VPS Ultra passar bra för en krävande databas: ställ in dess arbetsminne (`shared_buffers` för PostgreSQL, `innodb_buffer_pool_size` för MySQL) efter minnet i din storlek.

Låt din databas lyssna på `localhost`, och administrera den från din dator via en SSH-tunnel:

```
ssh -L 5432:localhost:5432 root@app.dittforetag.se
```

Ditt verktyg (DBeaver, pgAdmin, TablePlus) ansluter då till `localhost:5432`.

## Vanliga frågor

### Min webbplats visar ett certifikatfel.

Kontrollera i tur och ordning: dina poster `A` och `AAAA` pekar på adresserna från ditt kort (`dig`), din webbserver lyssnar på portarna 80 och 443 (`ss -tlnp`), din brandvägg släpper igenom dem (`ufw status`), och certifikatet täcker verkligen det namnet (`certbot certificates`).

### Kan jag ha flera webbplatser på min VPS Ultra?

Ja, så många du vill: peka varje domän mot dina adresser och lägg till dess block i din webbserver.
