← Todos los manuales

Instalar la plataforma (local o subdominio)

Requisitos

En un subdominio

  1. Sube la carpeta plataforma entera a tu hosting, fuera de la carpeta pública si puedes (por ejemplo /home/usuario/seoia).
  2. Crea el subdominio y haz que su carpeta raíz sea plataforma/public. Así, app/, storage/ y la configuración quedan fuera del alcance de la web.
  3. Activa el certificado HTTPS del subdominio (Let's Encrypt en el panel del hosting).
  4. Abre el subdominio en el navegador: arranca el asistente de instalación. Pon los datos de la base de datos, la dirección del subdominio y tu usuario administrador.
  5. El asistente genera la clave maestra de cifrado y te obliga a descargar una copia. Guárdala fuera del servidor: sin ella no se pueden leer las claves de los clientes si restauras una copia de seguridad.
  6. Entra y activa el doble factor (obligatorio para el administrador).
  7. Programa el cron cada minuto (Ajustes > Cron te da la línea exacta y una URL alternativa).
  8. Configura el correo y Redsys en Ajustes, y crea tus Planes.

En local (tu ordenador)

  1. Arranca MariaDB y crea una base de datos vacía.
  2. Desde la carpeta plataforma: php -S localhost:8095 -t public public/router.php
  3. Abre http://localhost:8095 y sigue el asistente.
  4. Para el cron, deja abierta otra ventana con: php cron/run.php cada minuto (o el Programador de tareas de Windows).

En local, las tiendas se pueden conectar sin HTTPS (se marcan en «modo local»). Redsys no podrá avisar de los pagos porque no llega a tu ordenador: úsalo solo para probar.

Seguridad del servidor

Hosting que solo sirve public_html (HestiaCP, cPanel)

  1. Sube app/, cron/, sql/ y storage/ a una carpeta fuera de la web, por ejemplo private/plataforma/.
  2. Sube el contenido de public/ a public_html/.
  3. Crea en public_html/ un fichero ruta.php con la ruta de la aplicación:
    <?php return '/home/usuario/web/dominio/private/plataforma';
  4. El cron apunta a private/plataforma/cron/run.php.

Actualización automática desde GitHub

La plataforma puede mirar su repositorio cada 5 minutos y actualizarse sola. Necesita git en el servidor.

  1. Crea una clave de despliegue de solo lectura (ssh-keygen -t ed25519) y añádela al repositorio en GitHub: Settings > Deploy keys.
  2. Configura el actualizador una vez, por línea de órdenes:
    php cron/actualizar.php --configurar clon=/ruta/private/actualizador/repo origen=git@github.com:usuario/repositorio.git rama=main publico=/ruta/public_html "ssh=ssh -i /ruta/clave -o IdentitiesOnly=yes"
  3. Dile qué versión hay instalada: php cron/actualizar.php --commit <commit>.
  4. Programa */5 * * * * php /ruta/cron/actualizar.php.

Antes de cambiar nada valida el código nuevo y guarda una copia; si la plataforma no responde después, vuelve atrás sola y avisa por correo. Nunca toca app/config.php ni storage/. Se ve y se manda desde Ajustes > Actualizaciones.