Skip to main content

Configuración .env (local / staging / producción)

Objetivo
 Configurar las variables de entorno que el proyecto carga al iniciar, para que las rutas, base de datos, archivos y servicios externos funcionen correctamente en cada ambiente.

Dónde se carga
 El .env se carga en el arranque del router:

- router.php

Requisitos

- Tener el proyecto en c:\xampp\htdocs\moneytechcrm
- Haber ejecutado composer install (para que exista vendor\autoload.php )
- Apache + MySQL levantados en XAMPP

1) Crear el archivo .env
En la raíz del proyecto, crea:

- c:\xampp\htdocs\moneytechcrm\.env
Basado en la plantilla existente:

- .env.template.txt
Nota: el .env ya está ignorado por git (no se debe versionar):

- .gitignore

2) Valores recomendados para LOCAL (XAMPP)
Ejemplo de .env para desarrollo local (usa placeholders, no pegues llaves reales):

APP_NAME="MoneyTech CRM"
TITLE="MoneyTech CRM"
FOOTER="Todos los derechos reservados"
APP_EMAIL="[email protected]"

APP_URL="http://localhost/moneytechcrm/"
API_URL="http://localhost/moneytechcrm/api/"
APP_TIMEZONE="America/Bogota"

LANG="MULTI"
BASE_LANG="es"

MAIN_COLOR="#8b0808"
SECONDARY_COLOR="#3a0000"
SIDEBAR_COLOR="#3a0000"

DB_HOST="localhost"
DB_USER="root"
DB_PASS=""
DB_NAME="moneytechcrm"
DB_PORT=3306

TOKEN_TIME="24:00:00"

FILE_MODE="local"
MAX_FILE_SIZE=10

S3_BUCKET=""
S3_REGION=""
S3_KEY=""
S3_SECRET=""

MAIL_MODE="aws"
MAIL_AWS_KEY=""
MAIL_AWS_SECRET=""
MAIL_AWS_REGION="us-west-2"
MAIL_AWS_CONFIGURATION_SET=""
API_SENDINBLUE="" (OPTIONAL)

GTRANSLATE_KEY=""

RECAPTCHA_SITEKEY="" (OPTIONAL)
RECAPTCHA_SECRET="" (OPTIONAL)

3) Qué variables son clave (y por qué)
- APP_URL : base URL del sistema (debe terminar en / ). Se usa para redirects, rutas, assets y router.
   Referencia: router.php
- API_URL : base URL de la API (normalmente APP_URL + "api/" ). En el frontend se usa como prefijo para llamar endpoints.
   Referencia: helpers.php
- DB_HOST/DB_USER/DB_PASS/DB_NAME/DB_PORT : conexión a MySQL; DB_PORT es opcional (default 3306).
   Referencia: router.php
- FILE_MODE : local o s3 . En local se recomienda local .
   Referencia: uploads.php
- MAX_FILE_SIZE : tamaño máximo (MB) para uploads.
   Referencia: uploads.php
- MAIL_MODE : aws o sendinblue (si no vas a probar email en local, deja credenciales vacías).
   Referencia: send_mail.php
- LANG / BASE_LANG / GTRANSLATE_KEY : habilita modo multi-idioma y traducción (opcional).
   Referencia: router.php , helpers.php
- RECAPTCHA_SITEKEY / RECAPTCHA_SECRET : usado en formularios públicos del módulo pages/app (opcional).
   Referencia: pages/app/index.php

4) Validación rápida
Después de guardar el .env :

- Abre http://localhost/moneytechcrm/
- Si no hay sesión, debe redirigir a /login (usa APP_URL ):
  - validateLogin