Documento activo

Instalacion y Despliegue

Requisitos, configuracion y puesta en marcha.

Volver al indice

Instalacion, Configuracion y Despliegue

1. Requisitos generales

Segun el proyecto y composer.json, el sistema requiere:

  • PHP 8.1 o superior
  • MySQL o MariaDB
  • Servidor web Apache o equivalente
  • Soporte para mod_rewrite
  • Extensiones comunes de PHP para PDO, JSON, sesiones y multibyte

Dependencias Composer observadas:

  • tecnickcom/tcpdf
  • phpmailer/phpmailer

2. Estructura esperada de despliegue

El proyecto esta pensado para correr en una carpeta web similar a:

  • C:\wamp64\www\sistema_educativo

En produccion puede instalarse en:

  • raiz del dominio
  • una subcarpeta
  • un entorno detras de proxy reverso

La deteccion de URL base se realiza automaticamente desde config/config.php.

3. Configuracion de base de datos

El sistema busca credenciales en este orden:

  1. Archivo externo:
  • dirname(__DIR__, 2) . '/.config/sistema_educativo/database.external.php'
  1. Variables de entorno:
  • DB_HOST
  • DB_PORT
  • DB_NAME
  • DB_USER
  • DB_PASS
  1. Valores por defecto

Recomendacion

Usar archivo externo o variables de entorno y no escribir credenciales sensibles dentro del proyecto.

4. Variables y parametros relevantes

Entorno principal

  • APP_URL
  • APP_BASE_URI
  • DB_HOST
  • DB_PORT
  • DB_NAME
  • DB_USER
  • DB_PASS
  • CRON_SECRET

Observaciones

  • APP_URL fija una URL base estable si la deteccion automatica no es suficiente.
  • CRON_SECRET se define para proteger procesos programados si se exponen por HTTP.

5. Dependencias

Si vendor/ no existe o debe regenerarse:

``powershell composer install``

6. Base de datos inicial

Se observan varios scripts SQL. El mas representativo del estado funcional actual es:

  • sql/sistema_educativov2-1.sql

Tambien existen otros respaldos y variantes en sql/.

Recomendacion operativa

  • Tomar uno de los SQL base como punto de partida.
  • Arrancar el sistema.
  • Dejar que config/database.php y los helpers terminen de sincronizar tablas y columnas faltantes.

7. Directorios que deben existir y tener permisos

Sistema principal

  • assets/uploads/
  • logs/
  • logs/backups/

Kiosko

Depende del uso de boletas, comprobantes y configuraciones de pasarela, por lo que debe revisarse que tenga permisos de lectura y escritura donde corresponda.

8. Primer arranque recomendado

  1. Configurar base de datos.
  2. Verificar APP_URL o deteccion de dominio.
  3. Confirmar existencia de vendor/.
  4. Confirmar permisos de assets/uploads y logs.
  5. Abrir login.php.
  6. Revisar si se generan errores en logs/php_errors.log.
  7. Iniciar sesion con usuario administrador disponible en la base cargada.

9. Despliegue a produccion

Recomendaciones minimas

  • Usar HTTPS
  • Desactivar exposicion publica de archivos de configuracion
  • No dejar credenciales en archivos versionables
  • Validar permisos de escritura solo donde hacen falta
  • Revisar CSP y pasarelas externas
  • Probar login, dashboard, portal publico y modulo de pagos

10. Validaciones post despliegue

Funcionales

  • Login
  • Cambio de contrasena
  • Dashboard admin
  • Portal publico
  • Biblioteca
  • Aula virtual
  • Mesa de partes
  • Kiosko

Tecnicas

  • Conexion a base de datos
  • Generacion de PDFs
  • Envio de correo si aplica
  • Escritura en logs
  • Subida de archivos

11. Cron jobs

Se observan al menos:

  • cron/notificar_calendario.php
  • cron/limpiar_tokens.php

Se recomienda ejecutarlos mediante programador del sistema operativo o cron del servidor.