Cómo Instalar Laravel en cPanel: Guía Paso a Paso para Desarrolladores
Laravel en hosting compartido es perfectamente posible si sabes configurarlo. El truco está en redirigir el Document Root a la carpeta /public y tener PHP 8.2 con las extensiones correctas.
Cómo Instalar Laravel en cPanel: Guía Paso a Paso para Desarrolladores
Laravel tiene una reputación de ser complicado de instalar en hosting compartido. La mayoría de tutoriales asumen un VPS con acceso root. Pero si tienes un hosting cPanel con PHP 8.2+ y acceso SSH, puedes tenerlo funcionando en 20 minutos.
El proceso tiene tres partes: subir los archivos, instalar dependencias con Composer, y configurar el servidor para servir desde la carpeta /public.
¿Se puede instalar Laravel en hosting compartido con cPanel?
Sí, con tres condiciones:
- PHP 8.2 o superior — Laravel 11 requiere PHP 8.2 mínimo
- Acceso SSH — necesario para correr Composer y artisan
- Extensiones PHP habilitadas — BCMath, Ctype, Curl, DOM, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML
En cPanel puedes verificar las extensiones desde Software > Select PHP Version. Si usas Elevocloud, todas las extensiones requeridas por Laravel están disponibles desde el panel.
Requisitos: PHP 8.2+, Composer, extensiones necesarias
Antes de subir nada, verifica la versión de PHP del dominio. En cPanel: Software > MultiPHP Manager, selecciona el dominio y asegúrate de que esté en PHP 8.2 o superior.
Para las extensiones: Software > Select PHP Version y activa las que falten de la lista de arriba. Los cambios aplican inmediatamente.
Composer lo instalamos directamente en el servidor via SSH (lo veremos en el Paso 2). No necesitas tenerlo en tu máquina local para este proceso.
Paso 1 — Subir Laravel al hosting vía FTP o File Manager
Hay dos caminos:
Opción A — Subir el ZIP: descarga Laravel desde laravel.com como ZIP, súbelo al File Manager de cPanel y extrae en la carpeta del dominio. Rápido, pero no incluye las dependencias de vendor/.
Opción B — Clonar desde Git (si tienes acceso SSH): git clone https://github.com/laravel/laravel.git mi-proyecto
La carpeta destino depende de cómo quieres instalar Laravel:
- Como aplicación principal del dominio: sube a la raíz del dominio y después configuras el Document Root hacia
/public - Como subdominio: crea el subdominio en cPanel primero, apúntalo a una carpeta, y sube Laravel ahí
Por defecto, cPanel sirve desde public_html/. Laravel necesita servir desde public_html/tu-proyecto/public/. Esto lo configuramos en el Paso 3.
Paso 2 — Instalar Composer via SSH en cPanel
Conéctate por SSH (cPanel lo permite desde Avanzado > Terminal o con tu cliente SSH habitual):
ssh tuusuario@tudominio.cl
Descarga e instala Composer localmente:
cd ~ curl -sS https://getcomposer.org/installer | php mv composer.phar ~/bin/composer chmod +x ~/bin/composer
Verifica que funcione:
composer --version
Ahora navega a la carpeta de tu proyecto Laravel e instala las dependencias:
cd public_html/tu-proyecto composer install --no-dev --optimize-autoloader
El flag --no-dev excluye paquetes de desarrollo (testing, debugging) para producción. El proceso tarda entre 2 y 5 minutos dependiendo del servidor.
Paso 3 — Configurar el Document Root hacia /public
Este es el paso crítico. Laravel debe servir solo desde la carpeta /public — si el Document Root apunta a la raíz del proyecto, los visitantes pueden acceder a archivos sensibles como .env.
Opción A: usar subdominio con Document Root personalizado
En cPanel: Dominios > Subdominios (o Dominios en la versión nueva de cPanel). Crea el subdominio y en el campo Document Root escribe la ruta completa a la carpeta public/ de tu Laravel:
/home/tuusuario/public_html/tu-proyecto/public
Guarda. El subdominio servirá directamente desde /public sin ninguna configuración adicional.
Opción B: usar subdirectorio con .htaccess
Si quieres que Laravel responda en el dominio principal o en un subdirectorio, necesitas un .htaccess en public_html/ que redirija al public/ de Laravel:
RewriteEngine On RewriteRule ^(.*)$ /tu-proyecto/public/$1 [L]
Este método es menos limpio y puede generar problemas con assets — la Opción A es preferible siempre que puedas usar un subdominio o dominio dedicado.
Paso 4 — Configurar el archivo .env
En la raíz del proyecto Laravel hay un archivo .env.example. Cópialo:
cp .env.example .env
Genera la clave de aplicación:
php artisan key:generate
Edita .env con los datos reales de la base de datos. Créala primero en cPanel (Bases de datos > Bases de datos MySQL) y toma nota del nombre de la BD, usuario y contraseña:
APP_NAME="Mi App" APP_ENV=production APP_KEY=base64:... (ya generada) APP_DEBUG=false APP_URL=https://miapp.midominio.cl DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=usuario_nombrebd DB_USERNAME=usuario_nombrebd DB_PASSWORD=tu_contrasena
Importante: APP_DEBUG=false en producción. Con debug en true, los errores muestran rutas de archivos, credenciales y configuración del servidor.
Paso 5 — Correr migraciones con artisan
Con la base de datos configurada, corre las migraciones:
php artisan migrate
Si es una instalación fresca, también puedes usar --seed para cargar datos iniciales:
php artisan migrate --seed
Finalmente, optimiza la configuración para producción:
php artisan config:cache php artisan route:cache php artisan view:cache
Estos comandos cachean la configuración, las rutas y las vistas de Blade para mejorar el rendimiento.
Problemas comunes y cómo resolverlos
Error 500 al instalar Laravel en hosting
Causas más frecuentes:
.envno existe o tieneAPP_KEYvacío → correphp artisan key:generate- La carpeta
storage/obootstrap/cache/no tiene permisos de escritura →chmod -R 775 storage bootstrap/cache - PHP no tiene las extensiones requeridas → revisa Select PHP Version en cPanel
'php artisan' no encontrado en PATH
Si al ejecutar php artisan recibes "command not found", el PATH de tu sesión SSH no incluye el PHP correcto. Usa la ruta completa:
/usr/local/bin/php8.2 artisan migrate
O crea un alias en ~/.bashrc:
alias php='/usr/local/bin/php8.2'
En cPanel puedes ver las rutas exactas de cada versión de PHP desde Software > Select PHP Version > Current PHP version.
¿Buscas hosting con PHP 8.2, SSH habilitado y Composer disponible? En Elevocloud los planes incluyen acceso SSH, PHP 8.x configurables por dominio y soporte técnico para developers. Ver planes de hosting para desarrolladores.