Saltar al contenido principal

Guía de Hosting Compartido (cPanel, Plesk, DirectAdmin)

LeadHub está construido desde cero para funcionar en hosting compartido. No necesitas un VPS, un servidor dedicado, acceso SSH ni ningún conocimiento de línea de comandos. Si puedes subir un archivo y llenar un formulario web, puedes instalar y ejecutar LeadHub.

Esta guía cubre todo lo específico de entornos de hosting compartido.


LeadHub en Hosting Compartido — Lo Que Necesitas Saber

Lo que absolutamente NO necesitas

  • Sin SSH / terminal / línea de comandos — nunca
  • Sin comandos artisan — LeadHub nunca requiere que escribas comandos
  • Sin Composer — todas las dependencias PHP están pre-instaladas en el directorio vendor/
  • Sin Node.js o npm — todo el CSS y JavaScript está precompilado
  • Sin Redis — LeadHub usa sesiones y caché basados en archivos por defecto
  • Sin Supervisor — el archivo cron.php reemplaza todo el procesamiento en segundo plano
  • Sin acceso root — los permisos de usuario estándar de hosting compartido son suficientes

Lo que SÍ necesitas

  • PHP 8.3 o superior (seleccionable en cPanel/Plesk/DirectAdmin)
  • Una base de datos MySQL (todos los hosts compartidos la proporcionan)
  • La capacidad de agregar un cron job (todos los principales hosts lo soportan)
  • Alrededor de 500 MB de espacio libre en disco
  • Apache con mod_rewrite habilitado (el predeterminado en prácticamente todos los hosts)

Elegir Cómo Instalar — Opción A u Opción B

  • Opción A — Addon Domain (Recomendado): LeadHub obtiene su propio dominio o subdominio dedicado (ej. leads.tudominio.com). Esta es la configuración más limpia.
  • Opción B — Instalación plana en public_html: Instalas LeadHub directamente en tu carpeta public_html/. Funciona pero requiere algunos pasos extra.

Opción A — Addon Domain (Recomendado)

Paso 1: Crear un Addon Domain o Subdominio

En cPanel:

  1. Inicia sesión en cPanel.
  2. Haz clic en Addon Domains (sección Domains).
  3. Completa:
    • New Domain Name: ej. leads.tudominio.com
    • Document Root: cámbialo a public_html/leadhub/public
  4. Haz clic en Add Domain.

¿Por qué apuntar a public/? Los archivos de la aplicación de LeadHub (app/, config/, database/, storage/, vendor/) están diseñados para vivir arriba del directorio web público. Solo el directorio public/ debe ser accesible desde el navegador.

En Plesk:

  1. Haz clic en Add Domain o Add Subdomain.
  2. Establece el "Document Root" al directorio leadhub/public después de subir los archivos.

En DirectAdmin:

  1. Ve a Domain SetupAdd Another Domain.
  2. Establece el document root al directorio leadhub/public.

Paso 2: Sube los Archivos de LeadHub

La estructura en tu servidor debe verse así:

public_html/
leadhub/ ← todos los archivos de LeadHub van aquí
app/
bootstrap/
config/
database/
public/ ← aquí apunta tu addon domain
resources/
routes/
storage/
vendor/
cron.php
.env.example
...etc

Paso 3: Crea una Base de Datos MySQL

  1. En cPanel, ve a MySQL Databases.
  2. Crea una nueva base de datos y un usuario.
  3. Agrega el usuario a la base de datos con All Privileges.

Paso 4: Establece Permisos de Archivos

  1. storage755 → marcar "Recurse into subdirectories"
  2. bootstrap/cache755

Paso 5: Ejecuta el Asistente de Instalación

Visita https://leads.tudominio.com/install y sigue los cinco pasos del instalador.


Opción B — Instalación Plana en public_html/

Usa este método si quieres LeadHub en tu dominio principal y no puedes usar un addon domain.

Paso 1: Sube los archivos

Sube y extrae el ZIP en public_html/.

Paso 2: Reorganiza los archivos

Mueve todo desde public_html/leadhub/public/ hacia public_html/ directamente. Luego mueve todas las otras carpetas (app/, bootstrap/, config/, etc.) también a public_html/.

public_html/
index.php ← movido de leadhub/public/
.htaccess ← movido de leadhub/public/
build/ ← movido de leadhub/public/
app/ ← movido de leadhub/
bootstrap/ ← movido de leadhub/
config/ ← movido de leadhub/
storage/ ← movido de leadhub/
vendor/ ← movido de leadhub/
cron.php ← movido de leadhub/
...etc

El archivo index.php detecta automáticamente esta disposición y ajusta las rutas.

Paso 3: Crea la base de datos, establece permisos y ejecuta el instalador

Idéntico a la Opción A. Visita https://tudominio.com/install.


Configurar el Cron Job — CRÍTICO

Este es el paso más importante después de la instalación. Sin el cron job, LeadHub no procesará leads entrantes, las automatizaciones no se ejecutarán y los correos no se enviarán.

El cron job ejecuta cron.php una vez cada minuto.

Agregar el cron job en cPanel

  1. Ve a la sección Advanced → Cron Jobs.

  2. Configura todos los campos de tiempo como * (cada minuto).

  3. En el campo Command, ingresa:

    php /home/tuusuario/public_html/leadhub/cron.php >> /dev/null 2>&1
  4. Haz clic en Add New Cron Job.

Agregar el cron job en Plesk

  1. Ve a Scheduled Tasks.

  2. Agrega una tarea que ejecute cada minuto:

    php /var/www/vhosts/tudominio.com/leadhub/cron.php >> /dev/null 2>&1

Agregar el cron job en DirectAdmin

  1. Ve a Cron Manager.

  2. Todos los campos de tiempo como *:

    php /home/tuusuario/domains/tudominio.com/leadhub/cron.php >> /dev/null 2>&1

Encontrar la ruta correcta de PHP

Si php no funciona, rutas comunes son:

  • /usr/local/bin/php
  • /usr/bin/php
  • /opt/cpanel/ea-php83/root/usr/bin/php

Alternativa: Cron basado en web

Si tu host no soporta cron shell, agrega CRON_SECRET=TuSecretoAleatorio al archivo .env y configura un cron URL:

https://tudominio.com/cron.php?token=TuSecretoAleatorio

Nota de seguridad: Sin CRON_SECRET configurado, cron.php bloquea todo acceso web.


Referencia de Permisos de Archivos

Carpeta / ArchivoPermiso CorrectoPor qué
storage/ (y subdirectorios)755LeadHub escribe sesiones, logs, caché y archivos subidos aquí
bootstrap/cache/755LeadHub escribe archivos de configuración compilados aquí
public/755El servidor web necesita leer archivos aquí
Archivos PHP (.php)644Legibles por el servidor web
.env640 o 644Sensible — legible por el servidor web, no accesible públicamente

Seleccionar la Versión Correcta de PHP

cPanel: Software → MultiPHP Manager → selecciona tu dominio → PHP 8.3 → Apply.

Plesk: Websites & Domains → PHP Settings → PHP 8.3 → OK.

DirectAdmin: Domain Setup → PHP Version → 8.3.


Solución de Problemas

ProblemaCausa probableSolución
Página en blancoVersión PHP incorrectaCambia a PHP 8.3 en tu panel de control
Error 404Archivos en carpeta incorrecta o mod_rewrite no activoVerifica ubicación de archivos y .htaccess
Error 403 ForbiddenPermisos incorrectosEstablece storage/ y public/ a 755
No se puede acceder a /installProblema de ruta en instalación planaAsegúrate de que index.php esté directamente en public_html/
Cron job no se ejecutaRuta incorrecta a PHP o cron.phpVerifica la ruta completa; prueba /usr/local/bin/php
Automatizaciones no se disparanCron job no configuradoVerifica que el cron job esté agregado y guardado
Subidas de archivos fallanstorage/app/public/ no escribibleEstablece storage/ a 755 recursivamente
Correos no se envíanEmail no configuradoVe a Configuración → Email y configura SMTP
"Cannot connect to database"Credenciales incorrectasVerifica nombre, usuario y contraseña
Pantalla blanca después del loginProblema de almacenamiento de sesiónVerifica que storage/framework/sessions/ exista y sea escribible
Instalador dice ya instaladoArchivo storage/installed.lock existeElimina installed.lock de storage/
Addon domain muestra sitio padreNo apunta a public/Edita el document root para que termine en /leadhub/public