# Vietnes vai lietojumprogrammas publicēšana

Jūsu VPS Ultra ir sava IPv4 adrese un sava IPv6 adrese: jūsu domēni norāda tieši uz tām, un jūsu serveris saņem datplūsmu visos portos, kurus atverat. Jūs apkalpojat tik daudz vietņu un domēnu, cik vēlaties.

## 1. Domēna novirzīšana uz jūsu serveri

Tur, kur tiek pārvaldīta jūsu domēna DNS zona, izveidojiet divus ierakstus ar adresēm, kas redzamas jūsu servera kartītē, jūsu klientu zonas sadaļā **VPS**:

| Tips   | Nosaukums                           | Vērtība                       |
| ------ | ----------------------------------- | ----------------------------- |
| `A`    | `@`, `www` vai vēlamais apakšdomēns | jūsu kartītes **IPv4 adrese** |
| `AAAA` | tas pats nosaukums                  | jūsu kartītes **IPv6 adrese** |

Ja jūsu domēna DNS zonu pārvalda Simafri, šos ierakstus jūsu vietā izveido mūsu komanda: rakstiet mums. Pirms jau publicētas vietnes pārslēgšanas lūdziet mums arī samazināt ieraksta dzīves ilgumu (TTL).

Lai pārbaudītu no sava datora:

```
dig +short A app.mana-firma.lv

dig +short AAAA app.mana-firma.lv
```

## 2. Tīmekļa servera un sertifikāta instalēšana

Divas izplatītas izvēles Linux sistēmā:

* **Caddy**, kas pats iegūst un atjauno jūsu HTTPS sertifikātus:

  ```
  apt install caddy
  ```

  pēc tam failā `/etc/caddy/Caddyfile`:

  ```
  app.mana-firma.lv {

      reverse_proxy 127.0.0.1:3000

  }
  ```

  un `systemctl reload caddy`;

* **Nginx** vai **Apache** ar **Certbot** Let's Encrypt sertifikātam:

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

  certbot --nginx -d app.mana-firma.lv -d www.app.mana-firma.lv
  ```

  Certbot uzstāda sertifikātu, pievieno klausīšanos portā 443 un ieplāno tā automātisku atjaunošanu.

Windows Server sistēmā jūsu vietnes apkalpo **IIS**, un ACME klients, piemēram, win-acme, tajā uzstāda un atjauno jūsu Let's Encrypt sertifikātus.

## 3. Lietojumprogrammas nepārtraukta darbība

Node.js, Python, Go vai Java lietojumprogrammu, kas darbojas nepārtraukti, uztic **systemd**: tā startē kopā ar serveri un pati restartējas, ja apstājas. Piemērs failā `/etc/systemd/system/app.service`:

```
[Unit]

Description=Mana lietojumprogramma

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    # sekot tās žurnāliem
```

Docker un Docker Compose arī tiek instalēti tāpat kā jebkurā Linux serverī.

## 4. Jūsu datubāze

PostgreSQL, MySQL, MariaDB, Redis vai MongoDB tiek instalētas ar pakotņu pārvaldnieku vai no izstrādātāja oficiālā repozitorija. Jūsu VPS Ultra garantētā atmiņa ir labi piemērota prasīgai datubāzei: iestatiet tās darba atmiņu (`shared_buffers` PostgreSQL, `innodb_buffer_pool_size` MySQL) atbilstoši jūsu izmēra atmiņai.

Lai jūsu datubāze klausās `localhost`, un administrējiet to no sava datora caur SSH tuneli:

```
ssh -L 5432:localhost:5432 root@app.mana-firma.lv
```

Tad jūsu rīks (DBeaver, pgAdmin, TablePlus) pieslēdzas `localhost:5432`.

## Biežāk uzdotie jautājumi

### Mana vietne rāda sertifikāta kļūdu.

Pārbaudiet secīgi: jūsu ieraksti `A` un `AAAA` norāda uz jūsu kartītes adresēm (`dig`), jūsu tīmekļa serveris klausās portos 80 un 443 (`ss -tlnp`), jūsu ugunsmūris tos laiž cauri (`ufw status`), un sertifikāts aptver šo nosaukumu (`certbot certificates`).

### Vai varu mitināt vairākas vietnes savā VPS Ultra?

Jā, tik daudz, cik vēlaties: novirziet katru domēnu uz savām adresēm un pievienojiet tā bloku savam tīmekļa serverim.
