Instalar o CMS do Total.js e iniciar sessão pela primeira vez
Executá-lo
O CMS só precisa de Node.js: nem base de dados nem serviço externo.
git clone https://github.com/totaljs/cms.git
cd cms
npm install
npm run startnpm run start executa node index.js 8000; a porta é opcional e a predefinição é 8000. Com Docker:
docker pull totalplatform/cms
docker run -p 8000:8000 totalplatform/cmsO primeiro início de sessão
No primeiro arranque o CMS cria o seu único administrador com um login e uma palavra-passe aleatórios. Abra http://localhost:8000/admin/: até ao primeiro início de sessão bem-sucedido a página mostra-os numa caixa com um botão que preenche o formulário. Depois a cópia em claro da palavra-passe é apagada das preferências e a caixa deixa de aparecer, por isso use logo o perfil do admin para definir um login e uma palavra-passe seus, e faça o primeiro início de sessão assim que arrancar uma instalação nova.
Até criar a primeira página, o endereço / redireciona para /admin/ enquanto a palavra-passe for a gerada; quando existe uma página com o endereço /, / serve o seu site.
Três formas de autenticar o admin
O admin vive sob o endereço da linha $api : /admin/ do ficheiro config. A função AUTH de definitions/auth.js decide para os pedidos desse caminho:
| Modo | Quando | Como |
|---|---|---|
| Sessão | a predefinição | um cookie cifrado com o salt da conta; o login e a palavra-passe são verificados com SHA-256 e esse sal |
| Token | a linha token : <value> existe em config | envie-o no cabeçalho x-token: o pedido corre como um utilizador integrado chamado Bot, um administrador (sa). Dez tentativas erradas bloqueiam o endereço, e um token errado não recebe qualquer resposta (o pedido termina com um timeout) |
| OpenPlatform | as definições contêm op_reqtoken e op_restoken | as pessoas iniciam sessão com o OpenPlatform e os seus grupos decidem as permissões pages, layouts, widgets, navigation, posts, files, redirects, variables, settings e admin |
As páginas públicas usam a função FUNC.auth se o seu código a definir (veja páginas, layouts e navegação); sem ela todos os visitantes são anónimos.
Onde vivem os dados
| Local | O que contém |
|---|---|
databases/config.json | valores gerados da instalação |
databases/memorize_account.json | o administrador: nome, login, hash da palavra-passe, nome do cookie e sal |
databases/fs-db/ | o armazenamento de ficheiros: os metadados do site (páginas, layouts, widgets, navegação, redirecionamentos, variáveis, configuração) e o HTML de cada página e layout, os ficheiros carregados e os artigos |
Para mover o site, copie a pasta databases/ ou use a cópia de segurança do admin (a API do admin).