Publicar un proyecto Laravel en un VPS con HestiaCP puede parecer complicado si es tu primera vez. Sin embargo, siguiendo un proceso ordenado evitarás errores comunes como el famoso error 500, problemas de permisos o fallos en el archivo .env.
En esta guía actualizada 2026 aprenderás paso a paso cómo subir Laravel a HestiaCP correctamente y dejarlo funcionando en producción.
¿Qué es HestiaCP y por qué usarlo?
HestiaCP es un panel de control gratuito para administrar servidores Linux. Permite gestionar dominios, bases de datos, cuentas FTP, correos y configuraciones web fácilmente.
Ventajas de usar HestiaCP
- Interfaz sencilla
- Soporte para Apache y Nginx
- Gestión fácil de PHP
- Administración de bases de datos MySQL
- Ideal para VPS pequeños y medianos
Es una excelente opción para proyectos Laravel en producción.
Requisitos antes de publicar Laravel
Antes de comenzar, asegúrate de tener:
1️. VPS configurado
- Ubuntu instalado
- HestiaCP funcionando
- Dominio apuntando al servidor
2️. Requisitos de Laravel
- PHP 8.x
- Composer
- MySQL o MariaDB
Extensiones necesarias (pdo, mbstring, curl, etc.)
Puedes verificar la versión de PHP con:
php -vPaso 1: Subir el proyecto al servidor
Opción 1: Subir por Git
Conéctate por SSH y ejecuta:
cd /home/usuario/web/tudominio.com/public_html
git clone https://github.com/tuusuario/tuproyecto.git .Opción 2: Subir por FTP
Puedes usar FileZilla y subir los archivos al directorio:
/home/usuario/web/tudominio.com/public_htmlPaso 2: Configurar el archivo .env
Laravel necesita su archivo de entorno para funcionar correctamente.
Crear o editar .env
Si no existe:
cp .env.example .envEdita los siguientes datos:
- APP_NAME
- APP_ENV=production
- APP_KEY
- DB_DATABASE
- DB_USERNAME
- DB_PASSWORD
Paso 3: Instalar dependencias con Composer
Desde la carpeta del proyecto ejecuta:
composer install --optimize-autoloader --no-devEsto instalará solo las dependencias necesarias para producción.
Paso 4: Generar la clave de aplicación
Laravel necesita una clave única para funcionar correctamente.
php artisan key:generatePaso 5: Configurar permisos correctamente
Uno de los errores más comunes al publicar Laravel en HestiaCP son los permisos incorrectos.
Permisos recomendados
chmod -R 755 storage
chmod -R 755 bootstrap/cacheSi hay problemas, ajusta el propietario:
chown -R usuario:usuario /ruta-del-proyectoPaso 6: Configurar el Document Root correctamente
Este es el punto más importante.
Laravel usa la carpeta:
publicPero Hestia por defecto apunta a:
public_htmlSolución correcta
Edita la configuración del dominio en HestiaCP y cambia el Document Root a:
/home/usuario/web/tudominio.com/public_html/publicAsí evitarás errores 403 o pantalla en blanco.

Paso 7: Ejecutar migraciones
Si tu proyecto usa base de datos:
php artisan migrate --forceLa opción --force permite ejecutar migraciones en producción.
Paso 8: Optimizar Laravel para producción
Para mejorar rendimiento:
php artisan config:cache
php artisan route:cache
php artisan view:cacheEsto acelera la aplicación en servidor.
Errores comunes al publicar Laravel en HestiaCP
Error 500
Generalmente es problema de:
- Permisos incorrectos
- APP_KEY no generada
- Extensión PHP faltante
Página en blanco
Suele ser Document Root mal configurado.
No conecta a base de datos
Revisa datos en archivo .env.
Recomendaciones de seguridad
- Desactiva APP_DEBUG en producción.
- Usa HTTPS.
- Configura firewall.
- Haz backups automáticos.
Conclusión
Publicar un proyecto Laravel en HestiaCP no es complicado, pero requiere atención en permisos, configuración del Document Root y optimización para producción.
Si trabajas con VPS y desarrollo backend, dominar este proceso te permitirá desplegar aplicaciones Laravel de forma profesional y segura.
