# Webhely vagy alkalmazás élesítése

VPS Pro szervere a domainnevükön szolgálja ki webhelyeit és alkalmazásait, HTTP-n és HTTPS-en. A látogatók a szervere **80**-as és **443**-as portjára érkeznek, a szervere neve alatt; a HTTPS-titkosítás végponttól végpontig tart, egészen a szerveréig, ahol a tanúsítványa található.

## 1. A domain a szerverére irányítása

Ott, ahol a domainje DNS-zónáját kezeli, hozzon létre két rekordot a szervere nevére, a kártyáján, ügyfélfelülete **VPS** rovatában megjelenített címekkel:

| Típus  | Név                                  | Érték                         |
| ------ | ------------------------------------ | ----------------------------- |
| `A`    | `app` (vagy `@` magához a domainhez) | a kártyáján lévő **IPv4-cím** |
| `AAAA` | `app` (vagy `@`)                     | a kártyáján lévő **IPv6-cím** |

A `vps.simafri.cloud` alatti név már működik: nincs mit létrehozni.

Ha a domainje DNS-zónáját a Simafri kezeli, csapatunk felveszi Ön helyett ezeket a rekordokat: írjon nekünk. Egy már működő webhely átállítása előtt kérje azt is, hogy csökkentsük a rekord élettartamát (TTL): így az átállás néhány perc alatt terjed el.

A számítógépéről így ellenőrizheti:

```
dig +short A app.azoncege.hu

dig +short AAAA app.azoncege.hu
```

## 2. A webszerver telepítése

Webszervere a **80**-as porton figyel a HTTP-re, és a **443**-as porton a HTTPS-re. Két gyakori választás:

* **Caddy**, amely magától beszerzi és megújítja a HTTPS-tanúsítványát;
* **Nginx** vagy **Apache**, a tanúsítványhoz **Certbottal**.

### Caddyvel

```
apt install caddy
```

Majd az `/etc/caddy/Caddyfile` fájlban, statikus webhelyhez:

```
app.azoncege.hu {

    root * /var/www/app

    file_server

}
```

vagy a 3000-es porton figyelő alkalmazáshoz:

```
app.azoncege.hu {

    reverse_proxy 127.0.0.1:3000

}
```

`systemctl reload caddy`, és a webhelye HTTPS-en válaszol: a Caddy beszerezte a tanúsítványt, és magától meg is újítja.

### Nginx-szel és Certbottal

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

Hozza létre a webhelyet az `/etc/nginx/sites-available/app` fájlban:

```
server {

    listen 80;

    listen [::]:80;

    server_name app.azoncege.hu;



    location / {

        proxy_pass http://127.0.0.1:3000;

        proxy_set_header Host $host;

        proxy_set_header X-Forwarded-Proto $scheme;

    }

}
```

Aktiválja, majd kérje a tanúsítványt:

```
ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/

nginx -t && systemctl reload nginx

certbot --nginx -d app.azoncege.hu
```

A Certbot telepíti a Let's Encrypt-tanúsítványt, hozzáadja a 443-as porton való figyelést, és ütemezi az automatikus megújítást. A `certbot renew --dry-run` ellenőrzi, hogy a megújítás készen áll-e.

## 3. Az alkalmazás folyamatos futtatása

Egy folyamatosan futó Node.js-, Python-, Go- vagy Java-alkalmazást a **systemd**-re bízhat: a szerverrel együtt indul, és magától újraindul, ha leáll. Példa, az `/etc/systemd/system/app.service` fájlban:

```
[Unit]

Description=Alkalmazásom

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    # a naplói követése
```

A Node.js-hez a PM2, a Pythonhoz a Gunicorn vagy az Uvicorn, illetve a Docker Compose ugyanezt a szerepet tölti be, ha azokat részesíti előnyben.

## 4. Az adatbázisa

A PostgreSQL, a MySQL, a MariaDB, a Redis vagy a MongoDB a csomagkezelővel telepíthető a szerverére, a legújabb verzióhoz pedig a gyártó hivatalos tárolójából:

```
apt install postgresql
```

Az adatbázisa maradjon a `localhost` címen figyelve: az alkalmazása magán a szerveren éri el. A számítógépéről történő kezeléshez használjon SSH-alagutat:

```
ssh -p 22101 -L 5432:localhost:5432 root@app.azoncege.hu
```

Eszköze (DBeaver, pgAdmin, TablePlus) ezután a `localhost:5432` címhez csatlakozik.

## Több domain kiszolgálása

Szervere a nevén válaszol, amelyet a rendeléskor rögzítettünk. Ha egy másik domaint vagy aldomaint szeretne ugyanazon a VPS Pro szerveren kiszolgálni, írjon a támogatásnak, megadva a hozzáadandó neveket: csapatunk csatlakoztatja őket a szerveréhez, majd Ön létrehozza a DNS-rekordjaikat az 1. lépés szerint, és hozzáadja a blokkjukat a webszerveréhez.

## Gyakori kérdések

### A webhelyem tanúsítványhibát jelez.

Ellenőrizze sorrendben: az `A` és `AAAA` rekordjai a kártyáján lévő címekre mutatnak (`dig`), a webszervere a 80-as és a 443-as porton figyel (`ss -tlnp`), és a tanúsítvány valóban lefedi ezt a nevet (`certbot certificates`). A tanúsítvány akkor szerezhető be, amikor a név már a szerverére mutat: a DNS-terjedés után futtassa újra a Certbotot, vagy töltse újra a Caddyt.

### A webhelyem egyáltalán nem válaszol.

A szerveren a `curl -I http://localhost` megmutatja, hogy válaszol-e a webszervere. A `systemctl status nginx` (vagy `caddy`, vagy az Ön szolgáltatása) és a naplói megmondják, miért állt le. Írja le a támogatásnak, mit tapasztal: a Teljes körű támogatás Önnel együtt diagnosztizál.

### Telepíthetek WordPresst, Laravelt vagy Symfonyt?

Igen: telepítse a PHP-FPM-et, az adatbázisát és a webszerverét, majd az alkalmazását, mint bármely Linux-szerveren. A Teljes körű támogatás lépésről lépésre megadja a projektjéhez illő beállításokat.
