ForgeCMS
es

CMS

Instalar el CMS de Total.js e iniciar sesión por primera vez

CMS · cms@8071e48 cmsinstalldockerlogintokenopenplatform

Ejecutarlo

El CMS solo necesita Node.js: ni base de datos ni servicio externo.

git clone https://github.com/totaljs/cms.git
cd cms
npm install
npm run start

npm run start ejecuta node index.js 8000; el puerto es opcional y el valor por defecto es 8000. Con Docker:

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

El primer inicio de sesión

En el primer arranque el CMS crea a su único administrador con un login y una contraseña aleatorios. Abre http://localhost:8000/admin/: hasta el primer inicio de sesión correcto la página los muestra en un cuadro con un botón que rellena el formulario. Después se borra de las preferencias la copia en claro de la contraseña y el cuadro deja de aparecer, así que usa enseguida el perfil del admin para definir un login y una contraseña propios, y haz el primer inicio de sesión en cuanto arranques una instalación nueva.

Hasta que crees la primera página, la dirección / redirige a /admin/ mientras la contraseña siga siendo la generada; cuando existe una página con la dirección /, / sirve tu sitio.

Tres formas de autenticar el admin

El admin vive bajo la dirección de la línea $api : /admin/ del archivo config. La función AUTH de definitions/auth.js decide para las peticiones de esa ruta:

ModoCuándoCómo
Sesiónes el modo por defectouna cookie cifrada con la salt de la cuenta; el login y la contraseña se comprueban con SHA-256 y esa sal
Tokenexiste la línea token : <value> en configenvíalo en la cabecera x-token: la petición se ejecuta como un usuario integrado llamado Bot, un administrador (sa). Diez intentos erróneos bloquean la dirección, y un token incorrecto no recibe respuesta alguna (la petición acaba en timeout)
OpenPlatformlos ajustes contienen op_reqtoken y op_restokenlas personas inician sesión con OpenPlatform y sus grupos deciden los permisos pages, layouts, widgets, navigation, posts, files, redirects, variables, settings y admin

Las páginas públicas usan la función FUNC.auth si tu código la define (consulta páginas, layouts y navegación); sin ella todos los visitantes son anónimos.

Dónde viven los datos

LugarQué contiene
databases/config.jsonvalores generados de la instalación
databases/memorize_account.jsonel administrador: nombre, login, hash de la contraseña, nombre de la cookie y sal
databases/fs-db/el almacén de archivos: los metadatos del sitio (páginas, layouts, widgets, navegación, redirecciones, variables, configuración) y el HTML de cada página y layout, los archivos subidos y los posts

Para mover el sitio, copia la carpeta databases/ o usa la copia de seguridad del admin (la API del admin).