# Inštalácia CMS Total.js a prvé prihlásenie

> Spustite CMS cez Node.js alebo Docker na porte 8000, prihláste sa loginom a heslom, ktoré vygeneruje pri prvom spustení, spoznajte tri spôsoby overenia administrácie a kde žijú dáta webu.

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

## Spustenie

CMS potrebuje iba Node.js: žiadnu databázu 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 voliteľný a predvolený je `8000`. S Dockerom:

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

## Prvé prihlásenie

Pri prvom spustení CMS vytvorí svojho jediného správcu s **náhodným loginom a heslom**. Otvorte `http://localhost:8000/admin/`: kým sa prvýkrát úspešne neprihlásite, stránka ich zobrazuje v rámčeku s tlačidlom, ktoré vyplní formulár. Potom sa čistá kópia hesla z preferencií zmaže a rámček sa prestane zobrazovať, preto hneď použite profil správcu na nastavenie vlastného loginu a hesla a prvé prihlásenie urobte hneď po spustení novej inštalácie.

Kým nevytvoríte prvú stránku, adresa `/` presmeruje na `/admin/`, pokiaľ je heslo ešte vygenerované; keď existuje stránka s adresou `/`, `/` obsluhuje váš web.

## Tri spôsoby overenia administrácie

Administrácia žije pod adresou z riadka `$api : /admin/` v súbore `config`. Funkcia `AUTH` v `definitions/auth.js` rozhoduje o požiadavkách na túto cestu:

| Režim | Kedy | Ako |
|---|---|---|
| Relácia | predvolené | cookie zašifrované pomocou `salt` účtu; login a heslo sa kontrolujú cez SHA-256 s touto soľou |
| Token | v `config` existuje riadok `token : <value>` | pošlite ho v hlavičke `x-token`: požiadavka beží ako vstavaný používateľ *Bot*, správca (`sa`). Desať nesprávnych pokusov zablokuje adresu a nesprávny token nedostane vôbec žiadnu odpoveď (požiadavka skončí timeoutom) |
| OpenPlatform | nastavenia obsahujú `op_reqtoken` a `op_restoken` | ľudia sa prihlasujú cez [OpenPlatform](/en/openplatform/how-an-app-connects/) a jeho skupiny určujú oprávnenia `pages`, `layouts`, `widgets`, `navigation`, `posts`, `files`, `redirects`, `variables`, `settings` a `admin` |

Verejné stránky používajú funkciu `FUNC.auth`, ak ju váš kód definuje (pozri [stránky, layouty a navigácia](/en/cms/pages-layouts-and-navigation/)); bez nej je každý návštevník anonymný.

## Kde žijú dáta

| Miesto | Čo obsahuje |
|---|---|
| `databases/config.json` | vygenerované hodnoty inštalácie |
| `databases/memorize_account.json` | správca: meno, login, hash hesla, názov cookie a soľ |
| `databases/fs-db/` | úložisko súborov: metadáta webu (stránky, layouty, widgety, navigácia, presmerovania, premenné, konfigurácia) a HTML každej stránky a layoutu, nahrané súbory a príspevky |

Web presuniete skopírovaním priečinka `databases/` alebo zálohou administrácie ([API administrácie](/en/cms/the-admin-api/)).
