# 🚀 GUÍA DE INSTALACIÓN Y PUESTA EN PRODUCCIÓN EN CPANEL
### Sistema de Recetario, Costos HH/CIF & Trazabilidad Pro • Das Brot

Esta guía detalla paso a paso cómo subir y desplegar el sistema en cualquier hosting con **cPanel** y **MySQL / MariaDB**.

---

## 📋 Requisitos Previos en cPanel
- Acceso a tu cuenta de **cPanel**.
- PHP versión **7.4, 8.0, 8.1 o 8.2** (con extensión `pdo_mysql` habilitada por defecto).
- Administrador de Archivos (File Manager) o acceso FTP.

---

## 🛠️ PASO 1: Crear la Base de Datos y el Usuario MySQL

1. Ingresa a tu **cPanel**.
2. En la sección **Bases de Datos**, haz clic en **"Asistente de bases de datos MySQL"** (o *"Bases de datos MySQL"*).
3. **Paso 1 - Crear base de datos:**
   - Escribe un nombre, por ejemplo: `recetario` (el nombre final será algo como `tucuenta_recetario`).
   - Clic en **Siguiente paso**.
4. **Paso 2 - Crear usuario de base de datos:**
   - Nombre de usuario: `dasbrot_admin` (el nombre final será `tucuenta_dasbrot_admin`).
   - Contraseña: Crea una contraseña segura (ej. `hbd5rmzy_secure2026!`).
   - Clic en **Crear usuario**.
5. **Paso 3 - Asignar Privilegios:**
   - Marca la casilla **"TODOS LOS PRIVILEGIOS"** (ALL PRIVILEGES).
   - Haz clic en **Hacer cambios** o **Siguiente paso**.

> **Anota estos 3 datos:**
> - Nombre de la base de datos (ej. `tucuenta_recetario`)
> - Usuario de la base de datos (ej. `tucuenta_dasbrot_admin`)
> - Contraseña elegida

---

## 📁 PASO 2: Subir los Archivos a cPanel

1. En cPanel, abre el **"Administrador de Archivos"** (File Manager).
2. Entra a la carpeta de tu sitio web:
   - Si es el dominio principal: carpeta `public_html/`.
   - Si es un subdominio (ej: `recetario.dasbrot.cl`): entra a la carpeta asignada al subdominio (ej. `public_html/recetario/`).
3. Haz clic en **"Cargar"** (Upload) y sube el archivo empaquetado:
   `DasBrot_Recetario_ERP_v2.0.zip`
4. Selecciona el archivo subido y haz clic en **"Extraer"** (Extract).

---

## 🔐 PASO 3: Configurar el archivo `.env`

1. En el Administrador de Archivos, asegúrate de activar la opción **"Mostrar archivos ocultos (dotfiles)"** en la tuerca de configuración (arriba a la derecha).
2. Edita el archivo `.env` (clic derecho -> **Edit**):
```ini
# --- SUPER ADMINISTRADOR ---
SUPERADMIN_EMAIL=lpino@dasbrot.cl
SUPERADMIN_PASSWORD=hbd5rmzy
SUPERADMIN_NAME=Leonardo Pino

# --- BASE DE DATOS CPANEL ---
DB_HOST=localhost
DB_PORT=3306
DB_NAME=tucuenta_recetario
DB_USER=tucuenta_dasbrot_admin
DB_PASS=tu_clave_creada_en_el_paso_1
DB_CHARSET=utf8mb4
```
3. Guarda los cambios (**Save Changes**).

---

## ⚡ PASO 4: Ejecutar el Instalador Automático

1. Abre tu navegador web e ingresa a:
   `https://tudominio.cl/setup_db.php`
   *(o `https://recetario.dasbrot.cl/setup_db.php` si usas subdominio)*

2. Verás la pantalla de instalación automática:
   - ✅ Creación de las 6 tablas (`usuarios`, `insumos`, `recetas`, `receta_ingredientes`, `configuracion_costos`, `auditoria_cambios`).
   - ✅ Creación y cifrado seguro de tu usuario **Super Admin**: `lpino@dasbrot.cl`.
   - ✅ Importación automática de las recetas y materias primas existentes.
3. Haz clic en **"Ingresar al Sistema Das Brot ERP"**.

> **Alternativa por phpMyAdmin:** Si prefieres no usar el instalador web, puedes abrir **phpMyAdmin** en cPanel, seleccionar tu base de datos, ir a la pestaña **Importar** y subir directamente el archivo `schema.sql`.

---

## 🔒 PASO 5: Credenciales de Acceso

- **Usuario / Correo:** `lpino@dasbrot.cl`
- **Contraseña:** `hbd5rmzy`
- **Rol:** `superadmin` (Control total, auditoría, creador de usuarios y modificación de costos).

---

## 🛡️ Medidas de Seguridad Recomendadas en cPanel
1. **Certificado SSL:** En cPanel -> *SSL/TLS Status*, asegúrate de tener activado el certificado gratuito Let's Encrypt o AutoSSL.
2. **Proteger el `.env`:** El servidor Apache en cPanel bloquea automáticamente archivos que empiezan con un punto (`.env`), garantizando que nadie pueda leer tus contraseñas desde el navegador.
3. Una vez finalizada la instalación inicial, puedes renombrar o eliminar `setup_db.php` para mayor seguridad.

