Esta guía te lleva de cero a un helpdesk completamente operativo en menos de 15 minutos. Al terminar tendrás el servidor configurado, la base de datos conectada, un administrador activo y un buzón de correo listo para recibir tickets. Sigue los pasos en orden; cada uno depende del anterior.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/banredco/helpdesk/llms.txt
Use this file to discover all available pages before exploring further.
Requisitos del servidor
Antes de clonar el repositorio verifica que el servidor cumple los requisitos mínimos.
Configura un virtual host que apunte a la raíz del proyecto. A continuación se muestran ejemplos para Apache y Nginx:Asegúrate también de que la extensión
| Componente | Versión mínima |
|---|---|
| PHP | 8.0 o superior |
| MySQL | 5.7+ o MariaDB 10.3+ |
| Extensiones PHP | pdo_mysql, imap, mbstring, openssl |
Apache — VirtualHost
Nginx — server block
imap esté habilitada en php.ini:php.ini
Clonar el repositorio e instalar dependencias
Clona el repositorio en el directorio raíz configurado en el paso anterior e instala la única dependencia de Composer: Cuando Composer termine verás el directorio
google/apiclient ^2.19, que habilita la integración con Gmail API.Terminal
vendor/ con las dependencias de Google API Client y sus bibliotecas transitivas.Configurar la base de datos
Crea la base de datos y el usuario en MySQL, luego edita el archivo El sistema crea la conexión PDO en Una vez editado el archivo, importa el esquema SQL inicial:
config/database.php con las credenciales correspondientes. El archivo ya contiene la estructura exacta que el sistema espera:config/database.php
config/connection.php a partir de este arreglo, fijando también la zona horaria de MySQL a America/Bogota (UTC-5):config/connection.php (fragmento)
Terminal
Configurar sesiones y acceso
El sistema de autenticación se apoya en Cada página del panel llama a
config/auth.php, que gestiona el ciclo de vida de la sesión PHP y protege todas las rutas del panel de administración. No requiere configuración adicional para un entorno estándar: el archivo inicia la sesión si aún no existe y expone dos funciones clave:config/auth.php
requireLogin() al inicio. Si la sesión no contiene user_id, el visitante es redirigido automáticamente al formulario de inicio de sesión. Para entornos de producción se recomienda configurar session.cookie_secure = 1 y session.cookie_httponly = 1 en php.ini y servir el sitio exclusivamente sobre HTTPS.Generar la contraseña del administrador
El sistema almacena las contraseñas usando Ejecuta el script desde la terminal con tu propia contraseña, copia el hash resultante e insértalo en la tabla
password_hash() de PHP con el algoritmo PASSWORD_DEFAULT (bcrypt). El archivo generate-password.php incluido en la raíz del proyecto es una utilidad de línea de comandos que genera el hash de una contraseña para insertarla directamente en la base de datos:generate-password.php
users:Terminal
Si es una instalación limpia sin usuarios todavía, usa una sentencia
INSERT en lugar de UPDATE para crear el primer registro de administrador con role_id = 1 e is_active = 1.Primer acceso al panel
Abre el navegador y navega a la URL raíz de tu instalación (p. ej.
El dashboard también incluye el panel de cumplimiento de SLA (OK / Riesgo / Vencido), la lista de tickets que requieren atención inmediata y el ranking de rendimiento por agente.
http://helpdesk.banred.com.co). El archivo index.php ejecuta una redirección inmediata a /admin, donde el sistema detectará que no hay sesión activa y te llevará al formulario de inicio de sesión en /admin/login.php.Ingresa con el correo y la contraseña del administrador creado en el paso anterior. Tras autenticarte correctamente llegarás al dashboard principal, que muestra en tiempo real los KPIs más importantes:| KPI | Descripción |
|---|---|
| Tickets Abiertos | Tickets con estado «Abierto» |
| Esperando Cliente | Tickets pendientes de respuesta del cliente |
| Escalados | Tickets con estado «Escalado» |
| Resueltos Hoy | Tickets resueltos en el día actual |
| Cerrados Hoy | Tickets cerrados en el día actual |
Conectar un buzón de correo
Con el sistema en marcha el siguiente paso es vincular al menos un buzón de correo para que los mensajes entrantes se conviertan automáticamente en tickets. Desde el panel de administración ve a Configuración → Correos → Nuevo Correo e introduce los datos de la cuenta.Para buzones IMAP en otros proveedores (Outlook, Zoho, servidores propios) asegúrate de que el puerto IMAP (normalmente 993 con SSL) esté abierto desde el servidor donde corre Helpdesk y de que la extensión
imap de PHP esté activa, tal como se verificó en el paso 1.