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