Instalación en cPanel o hosting compartido
Instalación en cPanel
Necesitas PHP 8.4, una base de datos MySQL y la capacidad de añadir cron jobs. No necesitas Redis, Docker, PostgreSQL ni acceso shell a un proceso de larga ejecución.
1. Sube y apunta la raíz del documento
Sube el paquete de lanzamiento fuera de public_html, luego apunta la raíz del documento de tu dominio al directorio public/ de la aplicación. Si tu proveedor de hosting no te permite mover la raíz del documento, coloca el contenido de public/ en public_html y actualiza las dos rutas en la parte superior de index.php.
2. Configura la base de datos y los controladores
En .env, usa MySQL y los controladores sin Redis:
DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=your_database
DB_USERNAME=your_user
DB_PASSWORD=your_password
CACHE_STORE=database
SESSION_DRIVER=database
QUEUE_CONNECTION=database
BROADCAST_CONNECTION=log
Deja los valores de REDIS_* sin definir. Luego ejecuta el instalador, el cual crea el esquema y tu primer administrador.
3. Añade los dos cron jobs
El hosting compartido no puede mantener un worker en ejecución, por lo que un cron job vacía la cola en su lugar. Nombra cada cola — un queue:work simple solo lee la cola default y dejará silenciosamente los trabajos de contabilidad y CRM sin procesar:
# every minute — background jobs
* * * * * cd /home/youruser/storeconsole && php artisan queue:work --queue=default,accounting,crm-default --stop-when-empty --max-time=55 >/dev/null 2>&1
# every minute — scheduled tasks
* * * * * cd /home/youruser/storeconsole && php artisan schedule:run >/dev/null 2>&1
--stop-when-empty permite que el worker finalice una vez que la cola se vacía, para que el trabajo no se acumule. Horizon no se utiliza en esta configuración; requiere Redis.
4. Verifícalo
Ejecuta php artisan about. El caché, la sesión, la cola y la base de datos deberían reportar los controladores que configuraste arriba, sin ninguna entrada de Redis. Inicia sesión en el panel y confirma que la cola se está vaciando en Ajustes → Sistema.

