Installare il CMS di Total.js e accedere per la prima volta
Eseguirlo
Il CMS ha bisogno solo di Node.js: nessun database, nessun servizio esterno.
git clone https://github.com/totaljs/cms.git
cd cms
npm install
npm run startnpm run start esegue node index.js 8000; la porta è facoltativa e il valore predefinito è 8000. Con Docker:
docker pull totalplatform/cms
docker run -p 8000:8000 totalplatform/cmsIl primo accesso
Al primo avvio il CMS crea il suo unico amministratore con un login e una password casuali. Apri http://localhost:8000/admin/: fino al primo accesso riuscito la pagina li mostra in un riquadro con un pulsante che compila il modulo. Dopo, la copia in chiaro della password viene cancellata dalle preferenze e il riquadro non compare più, quindi usa subito il profilo dell’admin per impostare un login e una password tuoi, e fai il primo accesso appena avvii una nuova installazione.
Finché non crei la prima pagina, l’indirizzo / reindirizza a /admin/ mentre la password è ancora quella generata; quando esiste una pagina con l’indirizzo /, / serve il tuo sito.
Tre modi di autenticare l’admin
L’admin vive sotto l’indirizzo della riga $api : /admin/ del file config. La funzione AUTH di definitions/auth.js decide per le richieste di quel percorso:
| Modalità | Quando | Come |
|---|---|---|
| Sessione | il predefinito | un cookie cifrato con il salt dell’account; login e password sono verificati con SHA-256 e quel sale |
| Token | la riga token : <value> esiste in config | invialo nell’intestazione x-token: la richiesta viene eseguita come un utente integrato chiamato Bot, un amministratore (sa). Dieci tentativi errati bloccano l’indirizzo, e un token errato non riceve alcuna risposta (la richiesta termina con un timeout) |
| OpenPlatform | le impostazioni contengono op_reqtoken e op_restoken | le persone accedono con OpenPlatform e i suoi gruppi decidono i permessi pages, layouts, widgets, navigation, posts, files, redirects, variables, settings e admin |
Le pagine pubbliche usano la funzione FUNC.auth se il tuo codice la definisce (vedi pagine, layout e navigazione); senza di essa ogni visitatore è anonimo.
Dove vivono i dati
| Posizione | Cosa contiene |
|---|---|
databases/config.json | valori generati dell’installazione |
databases/memorize_account.json | l’amministratore: nome, login, hash della password, nome del cookie e sale |
databases/fs-db/ | l’archivio di file: i metadati del sito (pagine, layout, widget, navigazione, reindirizzamenti, variabili, configurazione) e l’HTML di ogni pagina e layout, i file caricati e gli articoli |
Per spostare il sito, copia la cartella databases/ o usa il backup dell’admin (l’API dell’admin).