# Objava stranice ili aplikacije

Vaš VPS Ultra ima vlastitu IPv4 adresu i svoju IPv6 adresu: vaše domene upućuju izravno na njih, a vaš poslužitelj prima promet na svim portovima koje otvorite. Poslužujete onoliko stranica i domena koliko želite.

## 1. Usmjeravanje domene na poslužitelj

Ondje gdje se upravlja DNS zonom vaše domene izradite dva zapisa s adresama prikazanima na kartici vašeg poslužitelja, u odjeljku **VPS** vašeg korisničkog područja:

| Vrsta  | Naziv                            | Vrijednost                     |
| ------ | -------------------------------- | ------------------------------ |
| `A`    | `@`, `www` ili željena poddomena | **IPv4 adresa** s vaše kartice |
| `AAAA` | isti naziv                       | **IPv6 adresa** s vaše kartice |

Kad DNS zonom vaše domene upravlja Simafri, naš tim postavlja te zapise umjesto vas: pišite nam. Prije prebacivanja stranice koja je već objavljena, zamolite nas i da smanjimo vrijeme trajanja (TTL) zapisa.

Za provjeru sa svojeg računala:

```
dig +short A app.moja-tvrtka.hr

dig +short AAAA app.moja-tvrtka.hr
```

## 2. Instalacija web poslužitelja i certifikata

Dva uobičajena izbora na Linuxu:

* **Caddy**, koji sam dobiva i obnavlja vaše HTTPS certifikate:

  ```
  apt install caddy
  ```

  zatim, u `/etc/caddy/Caddyfile`:

  ```
  app.moja-tvrtka.hr {

      reverse_proxy 127.0.0.1:3000

  }
  ```

  i `systemctl reload caddy`;

* **Nginx** ili **Apache**, s **Certbotom** za certifikat Let's Encrypt:

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

  certbot --nginx -d app.moja-tvrtka.hr -d www.app.moja-tvrtka.hr
  ```

  Certbot postavlja certifikat, dodaje slušanje na portu 443 i zakazuje njegovu automatsku obnovu.

Na Windows Serveru vaše stranice poslužuje **IIS**, a ACME klijent poput win-acme ondje postavlja i obnavlja vaše certifikate Let's Encrypt.

## 3. Održavanje aplikacije u radu

Aplikacija u Node.js-u, Pythonu, Go-u ili Javi koja radi neprekidno povjerava se **systemd**-u: pokreće se s poslužiteljem i sama se ponovno pokreće ako se zaustavi. Primjer, u `/etc/systemd/system/app.service`:

```
[Unit]

Description=Moja aplikacija

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    # praćenje njezinih zapisa
```

Docker i Docker Compose također se instaliraju kao na svakom Linux poslužitelju.

## 4. Vaša baza podataka

PostgreSQL, MySQL, MariaDB, Redis ili MongoDB instaliraju se upraviteljem paketa ili iz službenog repozitorija izdavača. Zajamčena memorija vašeg VPS Ultra dobro odgovara zahtjevnoj bazi: podesite njezinu radnu memoriju (`shared_buffers` za PostgreSQL, `innodb_buffer_pool_size` za MySQL) prema memoriji svoje veličine.

Neka vaša baza sluša na `localhost`, a upravljajte njome sa svojeg računala putem SSH tunela:

```
ssh -L 5432:localhost:5432 root@app.moja-tvrtka.hr
```

Vaš se alat (DBeaver, pgAdmin, TablePlus) tada povezuje na `localhost:5432`.

## Česta pitanja

### Moja stranica prikazuje pogrešku certifikata.

Provjerite redom: vaši zapisi `A` i `AAAA` upućuju na adrese s vaše kartice (`dig`), vaš web poslužitelj sluša na portovima 80 i 443 (`ss -tlnp`), vaš ih vatrozid propušta (`ufw status`), a certifikat doista pokriva taj naziv (`certbot certificates`).

### Mogu li hostirati više stranica na svojem VPS Ultra?

Da, onoliko koliko želite: usmjerite svaku domenu na svoje adrese i dodajte njezin blok u svoj web poslužitelj.
