sdaichile.com/ → Landing Astro (public_html/)
└── api/ → PHP REST API (public_html/api/)
crm.sdaichile.com/ → CRM Next.js estático (carpeta subdominio Hostinger)
- Ir al Panel Hostinger → Bases de datos MySQL
- Crear nueva base de datos:
sdai_crm - Crear usuario con todos los permisos sobre esa BD
- Anotar:
host,nombre_bd,usuario,password - Importar el SQL generado localmente:
# En tu máquina local:
mysqldump -h localhost -u sdai_userxxxxx -pxxxxxx sdai_crmxxxxx > deploy/sdai_crmxxxxx.sql
# En Hostinger (phpMyAdmin o SSH):
mysql -h HOST -u USUARIO -p NOMBRE_BD < sdai_crm.sqlCrear archivo public_html/api/config/.env con:
APP_ENV=production
DB_HOST=HOST_HOSTINGER
DB_PORT=3306
DB_DATABASE=NOMBRE_BD_HOSTINGER
DB_USERNAME=USUARIO_HOSTINGER
DB_PASSWORD=PASSWORD_HOSTINGER
JWT_SECRET=SECRETO_SEGURO_64_CARACTERES_MINIMO
JWT_EXPIRES_SECONDS=28800Antes de hacer el build estático, editar apps/crm/.env.local:
NEXT_PUBLIC_API_URL=https://sdaichile.com/api# En tu máquina local:
cd apps/crm
npm run build
# Genera la carpeta: apps/crm/out/
# Subir TODO el contenido de out/ a la carpeta del subdominio crm.sdaichile.com
# En Hostinger: Dominios → Subdominios → crm.sdaichile.com → apunta a public_html/crm/# En tu máquina local:
cd apps/landing
npm run build
# Genera: apps/landing/dist/
# Subir el contenido de dist/ a public_html/ (reemplaza el WordPress anterior)# Subir via FTP o SSH la carpeta apps/api/ a public_html/api/
# Asegurarse de que .htaccess esté incluido (habilita el routing REST)
# Verificar que el servidor PHP sea >= 8.1Panel Hostinger → Dominios → sdaichile.com
→ Subdominios → Crear subdominio
Subdominio: crm
Directorio raíz: public_html/crm (o la ruta que asigne Hostinger)
# Health check API
curl https://sdaichile.com/api/health
# Login test
curl -X POST https://sdaichile.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"xxxxxxxx@sdaichile.com","password":"xxxxxxxxx"}'| Usuario | Password | Rol | |
|---|---|---|---|
| x |
# 1. Levantar MySQL
docker-compose up -d
# 2. Migrar BD
npm run prisma:migrate
# 3. Seed de datos
npm run prisma:seed
# 4. API PHP (terminal 1)
php -S localhost:8080 -t apps/api
# 5. CRM (terminal 2)
npm run dev:crm # → http://localhost:3000
# 6. Landing (terminal 3)
npm run dev:landing # → http://localhost:4321