Skip to main content

Instalación local (XAMPP + Composer)

Objetivo
 Dejar el proyecto corriendo en local bajo XAMPP (Apache + MySQL) y con dependencias PHP instaladas vía Composer.

Requisitos

- Windows + XAMPP (Apache y MySQL)
- PHP (el que trae XAMPP) y extensiones habilitadas: mysqli , openssl , curl
- Composer instalado y accesible desde terminal ( composer -V )
- Código del proyecto ubicado en:
  - c:\xampp\htdocs\moneytechcrm
Pasos

 1) Encender servicios en XAMPP
- Abrir XAMPP Control Panel
- Iniciar:
  - Apache
  - MySQL
Si Apache no inicia por puertos ocupados (80/443), libera puertos o ajusta la configuración de Apache.

2) Verificar configuración de Apache (mod_rewrite)
Este proyecto usa enrutamiento por rewrite (Front Controller). Confirma:

  • mod_rewrite habilitado
  • En el directorio del proyecto, Apache permite .htaccess (AllowOverride)

Archivo clave:

  • .htaccess


3) Instalar dependencias PHP con Composer
Abrir PowerShell o CMD y ejecutar:

cd c:\xampp\htdocs\moneytechcrm
composer install

Validación rápida: debe existir vendor\autoload.php porque el router lo carga en el arranque:

- router.php

4) Preparar variables de entorno (.env)
Este proyecto carga configuración desde .env en la raíz:

- router.php
Acción:

- Crear un archivo .env en c:\xampp\htdocs\moneytechcrm\ basado en .env.template.txt .
- No copies llaves/secretos reales a documentación ni al repo.
Plantilla existente:

- .env.template.txt
Valores mínimos típicos para local (ajústalos en tu .env ):

- APP_URL="http://localhost/moneytechcrm/"
- DB_HOST="localhost" , DB_USER="root" , DB_PASS="" , DB_NAME="..."

5) Probar que el enrutamiento responde
Abrir en el navegador:

- http://localhost/moneytechcrm/

Comportamiento esperado:

- La ruta / está definida y debe dirigir al dashboard, pero si no hay sesión te redirige a login:
  - routes.php (ruta /)
  - validateLogin (redirige a /login)

Resultado esperado

- El sitio responde en http://localhost/moneytechcrm/
- Composer quedó instalado (carpeta vendor\ existe)
- La app carga y redirige a /login si no hay sesión


Problemas comunes (y cómo resolverlos)

- 404 en todas las rutas
  - Revisa mod_rewrite y AllowOverride All
  - Verifica que existe y se está leyendo el .htaccess : .htaccess
- Pantalla en blanco / error genérico
  - Verifica que vendor\autoload.php exista (si no, ejecuta composer install )
  - Revisa logs: c:\xampp\htdocs\moneytechcrm\log\app.log
- Redirecciones mal construidas
  - APP_URL debe terminar con / y coincidir con la carpeta en htdocs (ej. /moneytechcrm/ )
- Error de conexión a DB
  - La conexión se crea con variables DB_* al arrancar:
    - router.php (DB init)


Referencias (código)

- Entrada principal por rutas: routes.php
- Router + carga de env + DB + middleware: router.php
- Dependencias del proyecto: composer.json