# Instalace CMS Total.js a první přihlášení

> Spusťte CMS přes Node.js nebo Docker na portu 8000, přihlaste se loginem a heslem, které vygeneruje při prvním spuštění, poznejte tři způsoby ověření administrace a kde žijí data webu.

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

## Spuštění

CMS potřebuje jen Node.js: žádnou databázi ani externí službu.

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

`npm run start` spustí `node index.js 8000`; port je volitelný a výchozí je `8000`. S Dockerem:

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

## První přihlášení

Při prvním spuštění CMS vytvoří svého jediného správce s **náhodným loginem a heslem**. Otevřete `http://localhost:8000/admin/`: dokud se poprvé úspěšně nepřihlásíte, stránka je zobrazuje v rámečku s tlačítkem, které vyplní formulář. Poté se čistá kopie hesla z preferencí smaže a rámeček se přestane zobrazovat, proto hned použijte profil správce k nastavení vlastního loginu a hesla a první přihlášení proveďte hned po spuštění nové instalace.

Dokud nevytvoříte první stránku, adresa `/` přesměrovává na `/admin/`, pokud je heslo ještě vygenerované; když existuje stránka s adresou `/`, `/` obsluhuje váš web.

## Tři způsoby ověření administrace

Administrace žije pod adresou z řádku `$api : /admin/` v souboru `config`. Funkce `AUTH` v `definitions/auth.js` rozhoduje o požadavcích na tuto cestu:

| Režim | Kdy | Jak |
|---|---|---|
| Relace | výchozí | cookie zašifrované `salt` účtu; login a heslo se kontrolují přes SHA-256 s touto solí |
| Token | v `config` existuje řádek `token : <value>` | pošlete jej v hlavičce `x-token`: požadavek běží jako vestavěný uživatel *Bot*, správce (`sa`). Deset špatných pokusů zablokuje adresu a špatný token nedostane žádnou odpověď (požadavek skončí timeoutem) |
| OpenPlatform | nastavení obsahuje `op_reqtoken` a `op_restoken` | lidé se přihlašují přes [OpenPlatform](/en/openplatform/how-an-app-connects/) a jeho skupiny určují oprávnění `pages`, `layouts`, `widgets`, `navigation`, `posts`, `files`, `redirects`, `variables`, `settings` a `admin` |

Veřejné stránky používají funkci `FUNC.auth`, pokud ji váš kód definuje (viz [stránky, layouty a navigace](/en/cms/pages-layouts-and-navigation/)); bez ní je každý návštěvník anonymní.

## Kde žijí data

| Místo | Co obsahuje |
|---|---|
| `databases/config.json` | vygenerované hodnoty instalace |
| `databases/memorize_account.json` | správce: jméno, login, hash hesla, název cookie a sůl |
| `databases/fs-db/` | úložiště souborů: metadata webu (stránky, layouty, widgety, navigace, přesměrování, proměnné, konfigurace) a HTML každé stránky a layoutu, nahrané soubory a příspěvky |

Web přesunete zkopírováním složky `databases/` nebo zálohou administrace ([API administrace](/en/cms/the-admin-api/)).
