# Telepítés teszt aldoménre (Rackforest, cPanel + Node.js App)

Cél: `https://teszt.zsoltiacm.hu` — az ügyfél megnézheti, az éles oldal (`zsoltiacm.hu`) érintetlen marad.

---

## 1. Aldomén létrehozása

cPanel → **Domains** → *Create A New Domain*

- Domain: `teszt.zsoltiacm.hu`
- Document root: hagyd az alapértelmezettet (pl. `teszt.zsoltiacm.hu`)

Ha van AutoSSL, a tanúsítvány pár percen belül kiáll rá. Ellenőrizd, hogy
`https://` -sel is elérhető, mielőtt megmutatod bárkinek.

## 2. Node.js alkalmazás felvétele

cPanel → **Setup Node.js App** → *Create Application*

| Mező                     | Érték                               |
|--------------------------|-------------------------------------|
| Node.js version          | 20 vagy 22 (a legmagasabb elérhető) |
| Application mode         | Production                          |
| Application root         | `next-zsoltiacm`                    |
| Application URL          | `teszt.zsoltiacm.hu`                |
| Application startup file | `server.js`                         |

Mentés után **ne indítsd el** — előbb fel kell töltenünk a kódot.

A cPanel ilyenkor kiír egy parancsot, ami a virtuális környezetet aktiválja
(`source /home/USER/nodevenv/next-zsoltiacm/20/bin/activate`). **Jegyezd fel** — SSH-n ezzel kell belépni a helyes Node
verzióhoz.

## 3. Kód feltöltése

A projekt gyökeréből, a saját gépeden:

```bash
./deploy.sh felhasznalo@szerver.rackforest.hu next-zsoltiacm
```

A szkript a **forrást** tölti fel, nem a lefordított appot — a `sharp`
képoptimalizáló natív bináris, ezért a szerver architektúrájára kell települnie. A build a szerveren fut le.

## 4. Beállítások a szerveren

SSH-n, az app gyökerében:

```bash
cd ~/next-zsoltiacm
cp .env.production.example .env.local
nano .env.local        # töltsd ki az SMTP jelszót és a CONTACT_TO címet
chmod 600 .env.local
```

**Két dolog, amit ne felejts el:**

- `NEXT_PUBLIC_NOINDEX=1` — enélkül a Google indexelné a tesztet, és duplikált tartalomként versenyezne az éles
  oldallal.
- `CONTACT_TO` legyen a **saját** e-mail címed. Ha az ügyfélét hagyod benne, a tesztüzenetek az ő postaládájába mennek.

## 5. Build és indítás

Ha a `deploy.sh` már lefuttatta a buildet, csak indítsd el:

cPanel → Setup Node.js App → a soron a **Restart** gomb.

Kézzel, SSH-n:

```bash
source /home/USER/nodevenv/next-zsoltiacm/20/bin/activate   # a cPanel adta parancs
cd ~/next-zsoltiacm
npm ci
NODE_OPTIONS=--max-old-space-size=1024 npm run build
```

Ha a build memóriahiánnyal áll le (CloudLinux LVE limit), vedd lejjebb a
`--max-old-space-size` értéket, vagy kérj több memóriát a Rackforesttől.

## 6. Ellenőrzés

```bash
curl -sI https://teszt.zsoltiacm.hu/ | head -3
curl -s  https://teszt.zsoltiacm.hu/robots.txt        # "Disallow: /" kell
curl -s  https://teszt.zsoltiacm.hu/ | grep -c noindex # 1 kell
```

Nézd végig: `/`, `/galeria`, `/referenciak`, `/kapcsolat`, `/partnerek`,
`/blog`, `/dj_kongashow`. Próbáld ki a képnézegetőt és küldj egy tesztüzenetet az űrlapon.

## 7. Jelszavas védelem (ajánlott)

Ha csak az ügyfél lássa: cPanel → **Directory Privacy** → a teszt aldomén könyvtára → *Password protect this directory*.

Így a keresők sem férnek hozzá, és véletlenül sem kerül ki idő előtt.

---

## Élesítés, ha az ügyfélnek tetszik

1. `NEXT_PUBLIC_NOINDEX` sort **töröld** a `.env.local`-ból (különben az éles oldal sem indexelődik).
2. `NEXT_PUBLIC_SITE_URL=https://zsoltiacm.hu`
3. `CONTACT_TO=kovazso777@gmail.com`
4. Vedd le a Directory Privacy védelmet.
5. Új Node.js App a `zsoltiacm.hu` doménre — vagy állítsd át a meglévő alkalmazás URL-jét.

> A régi Symfony oldalt **ne töröld**, amíg az új be nem vált. A
> `webronhu_zsoltiacm` adatbázis is maradjon meg: az új oldal nem használja,
> de onnan lehet újraexportálni a tartalmat.

## Hibakeresés

| Tünet                     | Hol nézd                                                |
|---------------------------|---------------------------------------------------------|
| 503 / „Application error" | cPanel → Setup Node.js App → a log fájl útvonala        |
| Fehér oldal, 500          | `~/next-zsoltiacm/.next` létezik-e (lefutott-e a build) |
| Képek nem töltenek        | `sharp` települt-e: `npm ls sharp`                      |
| Űrlap 503-at ad           | hiányzik vagy hibás a `.env.local` SMTP beállítás       |
