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