# Saidi või rakenduse avaldamine

Teie VPS Ultra serveril on oma IPv4-aadress ja IPv6-aadress: teie domeenid osutavad otse neile ning teie server võtab liiklust vastu kõigil portidel, mille avate. Saate teenindada nii palju saite ja domeene, kui soovite.

## 1. Domeeni suunamine oma serverile

Seal, kus hallatakse teie domeeni DNS-tsooni, looge kaks kirjet, kasutades aadresse, mis on kuvatud teie serveri kaardil teie kliendiala jaotises **VPS**:

| Tüüp   | Nimi                               | Väärtus                            |
| ------ | ---------------------------------- | ---------------------------------- |
| `A`    | `@`, `www` või soovitud alamdomeen | teie kaardil olev **IPv4-aadress** |
| `AAAA` | sama nimi                          | teie kaardil olev **IPv6-aadress** |

Kui teie domeeni DNS-tsooni haldab Simafri, lisab meie meeskond need kirjed teie eest: kirjutage meile. Enne juba avaldatud saidi ümberlülitamist paluge meil ka kirje eluiga (TTL) vähendada.

Kontrollimiseks oma arvutist:

```
dig +short A app.minu-firma.ee

dig +short AAAA app.minu-firma.ee
```

## 2. Veebiserveri ja sertifikaadi paigaldamine

Kaks levinud valikut Linuxis:

* **Caddy**, mis hangib ja uuendab teie HTTPS-sertifikaate iseseisvalt:

  ```
  apt install caddy
  ```

  seejärel failis `/etc/caddy/Caddyfile`:

  ```
  app.minu-firma.ee {

      reverse_proxy 127.0.0.1:3000

  }
  ```

  ja `systemctl reload caddy`;

* **Nginx** või **Apache** koos **Certbotiga** Let's Encrypti sertifikaadi jaoks:

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

  certbot --nginx -d app.minu-firma.ee -d www.app.minu-firma.ee
  ```

  Certbot paigaldab sertifikaadi, lisab pordi 443 kuulamise ja ajastab selle automaatse uuendamise.

Windows Serveris teenindab teie saite **IIS** ja ACME-klient nagu win-acme paigaldab ja uuendab seal teie Let's Encrypti sertifikaate.

## 3. Rakenduse töös hoidmine

Pidevalt töötava Node.js-, Pythoni-, Go- või Java-rakenduse usaldage **systemd**-le: see käivitub koos serveriga ja taaskäivitub ise, kui see peatub. Näide failis `/etc/systemd/system/app.service`:

```
[Unit]

Description=Minu rakendus

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    # selle logide jälgimine
```

Dockeri ja Docker Compose'i saab samuti paigaldada nagu igasse Linuxi serverisse.

## 4. Teie andmebaas

PostgreSQL, MySQL, MariaDB, Redis või MongoDB paigaldatakse paketihalduriga või tootja ametlikust hoidlast. Teie VPS Ultra garanteeritud mälu sobib hästi nõudlikule andmebaasile: häälestage selle töömälu (`shared_buffers` PostgreSQL-i jaoks, `innodb_buffer_pool_size` MySQL-i jaoks) vastavalt teie suuruse mälule.

Hoidke oma andmebaas kuulamas aadressil `localhost` ja hallake seda oma arvutist SSH-tunneli kaudu:

```
ssh -L 5432:localhost:5432 root@app.minu-firma.ee
```

Teie tööriist (DBeaver, pgAdmin, TablePlus) ühendub seejärel aadressiga `localhost:5432`.

## Korduma kippuvad küsimused

### Minu sait näitab sertifikaadi viga.

Kontrollige järjest: teie `A`- ja `AAAA`-kirjed osutavad teie kaardil olevatele aadressidele (`dig`), teie veebiserver kuulab porte 80 ja 443 (`ss -tlnp`), teie tulemüür laseb need läbi (`ufw status`) ning sertifikaat katab selle nime (`certbot certificates`).

### Kas saan oma VPS Ultra serveris majutada mitu saiti?

Jah, nii palju, kui soovite: suunake iga domeen oma aadressidele ja lisage selle plokk oma veebiserverisse.
