ForgeCMS
it

CMS

Installare il CMS di Total.js e accedere per la prima volta

CMS · cms@8071e48 cmsinstalldockerlogintokenopenplatform

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 start

npm 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/cms

Il 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àQuandoCome
Sessioneil predefinitoun cookie cifrato con il salt dell’account; login e password sono verificati con SHA-256 e quel sale
Tokenla riga token : <value> esiste in configinvialo 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)
OpenPlatformle impostazioni contengono op_reqtoken e op_restokenle 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

PosizioneCosa contiene
databases/config.jsonvalori generati dell’installazione
databases/memorize_account.jsonl’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).