4.3 KiB
Raw Permalink Blame History

📘 Guía de Instalación — Sistema de Gestión de Documentación

Requisitos del Sistema

Requisito Mínimo
PHP 8.0+
MySQL / MariaDB 5.7+ / 10.3+
Servidor Web Apache 2.4+ (con mod_rewrite)
Extensiones PHP PDO, PDO_MySQL, mbstring, openssl, fileinfo

Paso 1: Clonar / Copiar el Proyecto

Copie la carpeta ProyectoGestion a la raíz web de su servidor:

  • XAMPP (Windows): C:\xampp\htdocs\ProyectoGestion\
  • LAMP (Linux): /var/www/html/ProyectoGestion/
  • cPanel: Carpeta public_html/ProyectoGestion/

Paso 2: Crear la Base de Datos

  1. Abra phpMyAdmin o el cliente MySQL de su preferencia.
  2. Cree una nueva base de datos llamada gestion_documentos con codificación utf8mb4.
  3. Importe el archivo: database/gestion_documentos.sql
-- Desde línea de comando:
mysql -u root -p -e "CREATE DATABASE gestion_documentos CHARACTER SET utf8mb4;"
mysql -u root -p gestion_documentos < database/gestion_documentos.sql

Paso 3: Configurar Variables de Entorno

  1. Edite el archivo .env (ya creado desde .env.example):
DB_HOST=localhost
DB_NAME=gestion_documentos
DB_USER=root
DB_PASS=SU_CONTRASEÑA

APP_URL=http://localhost/ProyectoGestion
APP_SECRET_KEY=GENERE_UNA_CLAVE_ALEATORIA_DE_64_CARACTERES

MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=su_correo@gmail.com
MAIL_PASSWORD=su_contraseña_de_aplicacion

INSTITUCION_NOMBRE=Nombre de su Institución

⚠️ NUNCA suba el archivo .env a Git ni repositorios públicos.


Paso 4: Instalar Dependencias (Librerías)

Las librerías PHP van en la carpeta lib/. Descárguelas manualmente:

PHPMailer (para correos)

# Con Composer:
composer require phpmailer/phpmailer

# O descargue desde: https://github.com/PHPMailer/PHPMailer/releases
# Extraiga en: lib/PHPMailer/

DomPDF (para PDF)

# Con Composer:
composer require dompdf/dompdf

# O descargue desde: https://github.com/dompdf/dompdf/releases
# Extraiga en: lib/dompdf/

PhpSpreadsheet (para Excel opcional)

composer require phpoffice/phpspreadsheet

Paso 5: Permisos de Carpetas

En Linux/Mac, asigne permisos de escritura:

chmod -R 755 ProyectoGestion/
chmod -R 775 ProyectoGestion/uploads/
chmod -R 775 ProyectoGestion/exports/
chmod -R 775 ProyectoGestion/logs/

Paso 6: Configurar el Cron Job (Alertas)

Para recibir alertas automáticas, configure una tarea programada:

Linux (crontab):

crontab -e
# Agregar esta línea (ejecuta a las 8 AM todos los días):
0 8 * * * php /ruta/completa/ProyectoGestion/cron/enviar_alertas.php

Windows Task Scheduler:

  • Acción: php.exe C:\xampp\htdocs\ProyectoGestion\cron\enviar_alertas.php
  • Activador: Diariamente a las 8:00 AM

Prueba manual desde navegador:

http://localhost/ProyectoGestion/cron/enviar_alertas.php?secret=SU_CLAVE_SECRETA

Paso 7: Primer Acceso

Acceda a la URL del sistema:

http://localhost/ProyectoGestion/

Credenciales de administrador por defecto:

Campo Valor
Usuario admin
Contraseña Admin@2026

🔐 CAMBIAR LA CONTRASEÑA INMEDIATAMENTE después del primer acceso. Ir a: Perfil → Cambiar Contraseña


Paso 8: Configuración Inicial

  1. Ir a Usuarios → Crear usuarios del sistema
  2. Ir a Alertas → Configurar tiempos de notificación
  3. Subir logo institucional en assets/img/logo.png
  4. Actualizar INSTITUCION_NOMBRE en .env

Estructura de Archivos Importantes

Archivo Descripción
.env Configuración del sistema (NO subir a Git)
database/gestion_documentos.sql Script SQL completo
cron/enviar_alertas.php Script de alertas automáticas
uploads/ Documentos adjuntos (protegido)
exports/ Respaldos y exportaciones
logs/ Logs del sistema

Solución de Problemas Comunes

Error Solución
Error de conexión a la BD Verificar credenciales en .env
403 Forbidden en uploads Revisar .htaccess y permisos
Correos no se envían Verificar credenciales SMTP, MAIL_PASSWORD debe ser "contraseña de app" si usa Gmail
PDF no descarga Instalar librería DomPDF en lib/dompdf/
Modo debug Cambiar APP_DEBUG=true en .env para ver errores