Das Total.js CMS installieren und zum ersten Mal anmelden
Ausführen
Das CMS braucht nur Node.js: keine Datenbank, keinen externen Dienst.
git clone https://github.com/totaljs/cms.git
cd cms
npm install
npm run startnpm run start führt node index.js 8000 aus; der Port ist optional und der Standard ist 8000. Mit Docker:
docker pull totalplatform/cms
docker run -p 8000:8000 totalplatform/cmsDie erste Anmeldung
Beim ersten Start legt das CMS seinen einzigen Administrator mit einem zufälligen Login und Passwort an. Öffnen Sie http://localhost:8000/admin/: Bis zur ersten erfolgreichen Anmeldung zeigt die Seite beides in einem Kasten mit einer Schaltfläche, die das Formular ausfüllt. Danach wird die Klartextkopie des Passworts aus den Einstellungen gelöscht und der Kasten erscheint nicht mehr. Nutzen Sie daher sofort das Profil des Admins, um ein eigenes Login und Passwort festzulegen, und melden Sie sich direkt nach dem Start einer neuen Installation zum ersten Mal an.
Bis Sie die erste Seite anlegen, leitet die Adresse / auf /admin/ um, solange das Passwort noch das erzeugte ist; sobald eine Seite mit der Adresse / existiert, liefert / Ihre Website aus.
Drei Arten, den Admin zu authentifizieren
Der Admin liegt unter der Adresse der Zeile $api : /admin/ der Datei config. Die Funktion AUTH in definitions/auth.js entscheidet für die Anfragen dieses Pfads:
| Modus | Wann | Wie |
|---|---|---|
| Sitzung | der Standard | ein mit dem salt des Kontos verschlüsseltes Cookie; Login und Passwort werden mit SHA-256 und diesem Salt geprüft |
| Token | die Zeile token : <value> existiert in config | senden Sie es im Header x-token: Die Anfrage läuft als eingebauter Benutzer namens Bot, ein Administrator (sa). Zehn Fehlversuche sperren die Adresse, und ein falsches Token bekommt gar keine Antwort (die Anfrage endet mit einem Timeout) |
| OpenPlatform | die Einstellungen enthalten op_reqtoken und op_restoken | die Leute melden sich mit OpenPlatform an, und seine Gruppen bestimmen die Berechtigungen pages, layouts, widgets, navigation, posts, files, redirects, variables, settings und admin |
Die öffentlichen Seiten verwenden die Funktion FUNC.auth, wenn Ihr Code sie definiert (siehe Seiten, Layouts und Navigation); ohne sie ist jeder Besucher anonym.
Wo die Daten liegen
| Ort | Was er enthält |
|---|---|
databases/config.json | erzeugte Werte der Installation |
databases/memorize_account.json | der Administrator: Name, Login, Passwort-Hash, Cookie-Name und Salt |
databases/fs-db/ | der Dateispeicher: die Metadaten der Website (Seiten, Layouts, Widgets, Navigation, Weiterleitungen, Variablen, Konfiguration) und das HTML jeder Seite und jedes Layouts, die hochgeladenen Dateien und die Beiträge |
Um die Website zu verschieben, kopieren Sie den Ordner databases/ oder nutzen Sie das Backup des Admins (die Admin-API).