4.3 KiB
4.3 KiB
📘 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
- Abra phpMyAdmin o el cliente MySQL de su preferencia.
- Cree una nueva base de datos llamada
gestion_documentoscon codificaciónutf8mb4. - 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
- 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
.enva 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
- Ir a Usuarios → Crear usuarios del sistema
- Ir a Alertas → Configurar tiempos de notificación
- Subir logo institucional en
assets/img/logo.png - Actualizar
INSTITUCION_NOMBREen.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 |