Desarrollo y bases de datos
Instalación de Laravel 13
Nuestros servicios permiten ejecutar las versiones de Laravel compatibles con las versiones de PHP disponibles, gracias a Composer, el acceso SSH y la posibilidad de personalizar la versión, configuración y módulos de PHP.
Si ya tienes tu proyecto Laravel en un repositorio de GitHub, consulta nuestra guía de despliegue automático con Deployer para automatizar el proceso de deployment con zero-downtime y rollbacks instantáneos.
Preparando el terreno
Laravel 13 requiere PHP 8.3 o superior y admite PHP hasta la versión 8.5. Antes de comenzar, asegúrate de configurar la versión de PHP adecuada en tu cuenta.
Extensiones PHP requeridas
Además de la versión de PHP, Laravel 13 necesita que estén disponibles Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer y XML.
Para habilitar las extensiones, accede a cPanel, busca la sección Software y haz clic en Seleccionar versión de PHP. Desde ahí podrás activar las extensiones que necesites marcando las casillas correspondientes.
Si intentas instalar Laravel sin las extensiones necesarias, verás un error similar a este:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- laravel/framework[v13.x] require league/flysystem-local ^3.25
- league/flysystem-local[3.15.0, ..., 3.30.2] require ext-fileinfo *
-> it is missing from your system. Install or enable PHP's fileinfo extension.
Este error indica que falta la extensión fileinfo. Actívala desde cPanel y vuelve a intentar la instalación.
Instalación del instalador de Laravel
Accede a tu cuenta por medio de SSH o terminal integrada en cPanel.
El instalador oficial de Laravel es la forma recomendada para crear nuevos proyectos. Primero, instálalo de forma global usando Composer:
composer global require laravel/installer
Consulta primero la ruta real de los binarios globales de Composer:
composer global config bin-dir --absolute
Añade la ruta que devuelva al PATH de tu fichero .bashrc; no des por hecho que siempre será ~/.composer/vendor/bin, porque Composer puede usar ~/.config/composer/vendor/bin. Aplica los cambios ejecutando source ~/.bashrc y verifica que el instalador funciona correctamente:
laravel --version
Crear un nuevo proyecto Laravel
Una vez instalado el instalador, crear un nuevo proyecto es muy sencillo:
laravel new mi-proyecto
Donde mi-proyecto es el nombre del directorio donde se instalará Laravel. Puedes usar cualquier nombre o ruta relativa (por ejemplo, laravel new apps/blog creará la instalación en ~/apps/blog). El instalador te guiará de forma interactiva a través de varias opciones de configuración.
Selección de Starter Kit
Laravel 13 ofrece starter kits modernos y el instalador muestra las opciones vigentes de forma interactiva:
-
React: Combina Laravel con React 19, TypeScript, Inertia 2 y shadcn/ui. Ideal para aplicaciones de una sola página (SPA) con una pila moderna de JavaScript.
-
Vue: Integra Laravel con Vue 3, TypeScript, Inertia 2 y shadcn-vue. Perfecto para interfaces de usuario interactivas con el ecosistema Vue.
-
Svelte: Combina Laravel con Svelte e Inertia para interfaces reactivas.
-
Livewire: Diseñado para desarrollo frontend impulsado por el servidor. Combina Laravel con Livewire y Tailwind CSS, permitiendo construir interfaces dinámicas sin necesidad de un framework JavaScript separado.
-
Sin starter kit: Si prefieres empezar con una instalación limpia basada en Blade.
Según el stack elegido, el instalador puede preguntar además por el proveedor de autenticación, equipos, componentes de Livewire y el gestor de paquetes de Node.js.
Selección de base de datos
El instalador te preguntará qué base de datos deseas utilizar. En un entorno de hosting compartido con cPanel, las opciones más relevantes son:
SQLite: El instalador crea automáticamente un archivo database.sqlite en el directorio database y configura la conexión. Es la opción más sencilla ya que no requiere configuración adicional en el servidor. SQLite es perfectamente válido para aplicaciones en producción y muchos proyectos grandes lo utilizan con éxito.
MySQL: Si tu aplicación requiere características específicas de MySQL o prefieres usar un servidor de base de datos dedicado, deberás crear la base de datos en cPanel antes o después de la instalación. Consulta nuestra guía de bases de datos MySQL para el proceso completo, o si lo prefieres puedes usar el asistente de bases de datos que te guiará paso a paso.
Una vez creada la base de datos y completada la instalación de Laravel, deberás configurar las credenciales en el archivo .env de tu proyecto:
DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=miusuario_nombredb DB_USERNAME=miusuario_usuariodb DB_PASSWORD=tu_contraseña_segura
Sustituye los valores por los que hayas configurado en cPanel. Recuerda que en cPanel el nombre de la base de datos y el usuario llevan el prefijo de tu cuenta (por ejemplo, si tu usuario es miusuario y creas una base de datos llamada laravel, el nombre real será miusuario_laravel).
Ejecución de migraciones
Con SQLite el instalador crea la base y ejecuta las migraciones automáticamente. Si eliges MySQL y todavía no has configurado las credenciales en .env, responde que no cuando pregunte por las migraciones. Una vez configurado, ejecútalas manualmente:
php artisan migrate
Instalación sin interacción
Si prefieres una instalación automatizada sin preguntas, puedes pasar las opciones directamente:
laravel new mi-proyecto --livewire --database=mysql
Algunas opciones útiles:
--react,--vue,--svelteo--livewire: Selecciona el stack--database=mysql|mariadb|pgsql|sqlite|sqlsrv: Configura la base de datos--npm,--pnpm,--bun,--yarno--no-node: Selecciona cómo gestionar los assets
Ejecuta laravel new --help antes de automatizar la instalación: las opciones del instalador evolucionan independientemente del framework.
Configurar el Document Root
Laravel utiliza el directorio public como punto de entrada de la aplicación. Todas las peticiones web deben dirigirse al fichero index.php dentro de este directorio. Tienes dos opciones para configurar esto en cPanel:
Opción 1: Cambiar el Document Root (dominios addon y subdominios)
Si estás usando un dominio addon o subdominio, puedes cambiar directamente el Document Root desde cPanel para que apunte al directorio public de tu instalación Laravel. Esta es la opción más limpia y recomendada cuando está disponible.
Opción 2: Enlace simbólico (dominio principal)
El dominio principal de tu cuenta está forzado a usar public_html como Document Root. En este caso, la solución es crear un enlace simbólico.
Partimos de la base que has instalado Laravel en un subdirectorio de la raíz de la cuenta (por ejemplo, ~/mi-proyecto). Desde la terminal, asegúrate de estar en la raíz de tu cuenta:
cd
Renombra public_html para conservar una copia recuperable mientras validas el cambio:
mv public_html public_html_backup_manual
Crea el enlace simbólico hacia el directorio public de Laravel:
ln -s mi-proyecto/public public_html
Desde este momento, al acceder a tu dominio se cargará la aplicación Laravel.
Conserva public_html_backup_manual hasta comprobar la portada, el acceso, las rutas dinámicas y los registros de error. Si algo falla, retira el enlace y devuelve el directorio a su nombre original.
Tareas programadas (Cron)
Laravel incluye un programador de tareas que te permite definir comandos que se ejecutan automáticamente en intervalos específicos. Para activarlo, necesitas configurar un único cron job en cPanel que ejecute el scheduler de Laravel cada minuto.
Accede a cPanel, ve a la sección Avanzado y haz clic en Trabajos de Cron. Crea una nueva tarea con la siguiente configuración:
- Configuración común: Selecciona "Una vez por minuto" o configura manualmente
* * * * * - Comando:
/usr/local/bin/php /home/tu_usuario/mi-proyecto/artisan schedule:run >> /dev/null 2>&1
Sustituye /home/tu_usuario/mi-proyecto por la ruta completa a tu instalación de Laravel. El scheduler se encargará de ejecutar todas las tareas programadas que hayas definido en tu aplicación según sus intervalos configurados.
Para más información sobre cómo configurar tareas en cPanel, consulta nuestra guía de trabajos de Cron.
También te puede ayudar
- Accediendo vía SSH a tu cuenta Conecta por SSH al hosting desde Windows, Linux o macOS usando claves Ed25519, puerto 93 y verificac...
- Asistente de bases de datos MySQL Crea una base MySQL, su usuario y la asociación de permisos desde el asistente de cPanel para obtene...
- Automatización de tareas de deploy en Git con el fichero .cpanel.yml Define tareas de despliegue en .cpanel.yml, ejecútalas tras push o pull y aprende a lanzar el proces...
- Bases de datos MySQL Administra desde cPanel bases MySQL, usuarios, permisos, reparaciones y cambios de credenciales, man...
¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.