# A Total.js CMS telepítése és az első bejelentkezés

> Futtasd a CMS-t Node.js-szel vagy Dockerrel a 8000-es porton, jelentkezz be az első indításkor generált felhasználónévvel és jelszóval, ismerd meg az admin hitelesítésének három módját, és azt, hol vannak az oldal adatai.

Framework: cms
Product: CMS (cms@8071e48)
Language: hu
Content-SHA256: 6577f9ded27ba1c0d9ffd2c42606931e94b70de4374d1aac5c4f6eb5eb5ceafe
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## Futtatás

A CMS-nek csak Node.js kell: se adatbázis, se külső szolgáltatás.

```bash
git clone https://github.com/totaljs/cms.git
cd cms
npm install
npm run start
```

Az `npm run start` a `node index.js 8000` parancsot futtatja; a port elhagyható, az alapértelmezett `8000`. Dockerrel:

```bash
docker pull totalplatform/cms
docker run -p 8000:8000 totalplatform/cms
```

## Az első bejelentkezés

Az első indításkor a CMS létrehozza az egyetlen adminisztrátorát **véletlenszerű felhasználónévvel és jelszóval**. Nyisd meg a `http://localhost:8000/admin/` címet: az első sikeres bejelentkezésig az oldal egy keretben mutatja őket, egy gombbal, amely kitölti az űrlapot. Ezután a jelszó nyers másolata törlődik a beállításokból, és a keret nem jelenik meg többé, ezért azonnal használd az admin profilját saját felhasználónév és jelszó beállítására, az első bejelentkezést pedig közvetlenül egy új telepítés indítása után végezd el.

Amíg nem hozod létre az első oldalt, a `/` cím átirányít a `/admin/` címre, amíg a jelszó még a generált; ha létezik `/` című oldal, a `/` a te oldaladat szolgálja ki.

## Az admin hitelesítésének három módja

Az admin a `config` fájl `$api : /admin/` sorában megadott cím alatt él. A `definitions/auth.js` fájl `AUTH` függvénye dönt az erre az útvonalra érkező kérésekről:

| Mód | Mikor | Hogyan |
|---|---|---|
| Munkamenet | az alapértelmezett | a fiók `salt` értékével titkosított cookie; a felhasználónevet és a jelszót SHA-256-tal és ezzel a sóval ellenőrzi |
| Token | a `config` fájlban van `token : <value>` sor | küldd az `x-token` fejlécben: a kérés a *Bot* nevű beépített felhasználóként fut, amely adminisztrátor (`sa`). Tíz hibás kísérlet letiltja a címet, a hibás token pedig semmilyen választ nem kap (a kérés időtúllépéssel végződik) |
| OpenPlatform | a beállítások tartalmazzák az `op_reqtoken` és `op_restoken` értéket | az emberek az [OpenPlatform](/en/openplatform/how-an-app-connects/) rendszerrel jelentkeznek be, és annak csoportjai döntik el a `pages`, `layouts`, `widgets`, `navigation`, `posts`, `files`, `redirects`, `variables`, `settings` és `admin` jogosultságokat |

A nyilvános oldalak a `FUNC.auth` függvényt használják, ha a kódod definiálja (lásd [oldalak, elrendezések és navigáció](/en/cms/pages-layouts-and-navigation/)); nélküle minden látogató névtelen.

## Hol vannak az adatok

| Hely | Mit tartalmaz |
|---|---|
| `databases/config.json` | a telepítés generált értékei |
| `databases/memorize_account.json` | az adminisztrátor: név, felhasználónév, jelszó-hash, cookie neve és só |
| `databases/fs-db/` | a fájltároló: az oldal metaadatai (oldalak, elrendezések, widgetek, navigáció, átirányítások, változók, konfiguráció), minden oldal és elrendezés HTML-je, a feltöltött fájlok és a bejegyzések |

Az oldal áthelyezéséhez másold a `databases/` mappát, vagy használd az admin mentését ([az admin API](/en/cms/the-admin-api/)).
