# Svetainės ar programos paleidimas internete

Jūsų VPS Ultra turi savo IPv4 adresą ir savo IPv6 adresą: jūsų domenai nukreipiami tiesiai į juos, o jūsų serveris priima srautą visais prievadais, kuriuos atveriate. Aptarnaujate tiek svetainių ir domenų, kiek norite.

## 1. Domeno nukreipimas į jūsų serverį

Ten, kur valdoma jūsų domeno DNS zona, sukurkite du įrašus su adresais, rodomais jūsų serverio kortelėje, jūsų klientų srities skiltyje **VPS**:

| Tipas  | Vardas                             | Reikšmė                        |
| ------ | ---------------------------------- | ------------------------------ |
| `A`    | `@`, `www` arba norimas subdomenas | jūsų kortelės **IPv4 adresas** |
| `AAAA` | tas pats vardas                    | jūsų kortelės **IPv6 adresas** |

Kai jūsų domeno DNS zoną valdo Simafri, šiuos įrašus už jus sukuria mūsų komanda: parašykite mums. Prieš perjungdami jau veikiančią svetainę, taip pat paprašykite mūsų sumažinti įrašo galiojimo laiką (TTL).

Norėdami patikrinti iš savo kompiuterio:

```
dig +short A app.mano-imone.lt

dig +short AAAA app.mano-imone.lt
```

## 2. Žiniatinklio serverio ir sertifikato įdiegimas

Du dažni pasirinkimai Linux sistemoje:

* **Caddy**, kuris pats gauna ir atnaujina jūsų HTTPS sertifikatus:

  ```
  apt install caddy
  ```

  tada faile `/etc/caddy/Caddyfile`:

  ```
  app.mano-imone.lt {

      reverse_proxy 127.0.0.1:3000

  }
  ```

  ir `systemctl reload caddy`;

* **Nginx** arba **Apache** su **Certbot** Let's Encrypt sertifikatui:

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

  certbot --nginx -d app.mano-imone.lt -d www.app.mano-imone.lt
  ```

  Certbot įdiegia sertifikatą, prideda klausymąsi prievade 443 ir suplanuoja automatinį jo atnaujinimą.

Windows Server sistemoje jūsų svetaines aptarnauja **IIS**, o ACME klientas, toks kaip win-acme, įdiegia ir atnaujina jūsų Let's Encrypt sertifikatus.

## 3. Programos veikimo palaikymas

Nuolat veikianti Node.js, Python, Go ar Java programa patikima **systemd**: ji pasileidžia kartu su serveriu ir pati persikrauna, jei sustoja. Pavyzdys, faile `/etc/systemd/system/app.service`:

```
[Unit]

Description=Mano programa

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    # sekti jos žurnalus
```

Docker ir Docker Compose taip pat įdiegiami kaip bet kuriame Linux serveryje.

## 4. Jūsų duomenų bazė

PostgreSQL, MySQL, MariaDB, Redis ar MongoDB įdiegiamos paketų tvarkykle arba iš oficialios gamintojo saugyklos. Garantuota jūsų VPS Ultra atmintis puikiai tinka reikliai duomenų bazei: nustatykite jos darbinę atmintį (`shared_buffers` PostgreSQL atveju, `innodb_buffer_pool_size` MySQL atveju) pagal jūsų dydžio atmintį.

Palikite savo duomenų bazę klausytis `localhost` ir administruokite ją iš savo kompiuterio per SSH tunelį:

```
ssh -L 5432:localhost:5432 root@app.mano-imone.lt
```

Tada jūsų įrankis (DBeaver, pgAdmin, TablePlus) jungiasi prie `localhost:5432`.

## Dažniausiai užduodami klausimai

### Mano svetainė rodo sertifikato klaidą.

Patikrinkite eilės tvarka: jūsų įrašai `A` ir `AAAA` nurodo jūsų kortelės adresus (`dig`), jūsų žiniatinklio serveris klausosi prievadų 80 ir 443 (`ss -tlnp`), jūsų ugniasienė juos praleidžia (`ufw status`), o sertifikatas tikrai apima šį vardą (`certbot certificates`).

### Ar galiu talpinti kelias svetaines savo VPS Ultra?

Taip, tiek, kiek norite: nukreipkite kiekvieną domeną į savo adresus ir pridėkite jo bloką į savo žiniatinklio serverį.
