Instalación y puesta en marcha de Laravel
Introducción
En este apartado vamos a instalar Laravel dentro del entorno de desarrollo que hemos preparado previamente. Utilizaremos Composer para crear un nuevo proyecto Laravel y realizaremos las configuraciones necesarias en el servidor Nginx para que nuestra aplicación funcione correctamente.
El objetivo es tener un proyecto de Laravel completamente operativo y accesible desde el navegador.
Recordatorio importante
Importante
Si has seguido los temas 2.2 y 2.3, ya deberías tener el entorno Docker configurado. Y la estructura de carpetas y ficheros básicos creados.
Preparar la carpeta de trabajo
Antes de instalar Laravel, es importante preparar correctamente la carpeta donde se va a ubicar el proyecto.
- Dirígete a la carpeta
src/del proyecto clonado.
cd src
- Si existe un archivo
index.phpde prueba (utilizado previamente para verificar PHP), elimínalo:
rm index.php
Esto nos asegura que la carpeta src/ esté vacía y lista para recibir el proyecto Laravel.
Importante
Laravel necesita que la carpeta de instalación esté vacía para crear correctamente su estructura de archivos.
Crear el proyecto Laravel
Acceder al contenedor PHP
Para instalar Laravel correctamente, es necesario ejecutar Composer desde dentro del contenedor de PHP.
- Abre una terminal en Visual Studio Code. (O utilza Docker Desktop si lo prefieres).
-
Ejecuta el siguiente comando para acceder al contenedor
dk_php:Acceder al contenedor PHP
odocker exec -it laravel_app_php_1 bashdocker compose exec php bashEsto abrirá una consola dentro del contenedor.
Comprobar que Composer está instalado
Antes de continuar, vamos a asegurarnos de que Composer está correctamente instalado dentro del contenedor.
Comprobar Composer
Escribe:
composer --version
Deberías ver algo parecido a:
Composer version 2.x.x 2025-XX-XX
Problema común
Si no ves la versión de Composer, o recibes un error, revisa que tu contenedor PHP haya sido construido correctamente a partir del Dockerfile que instala Composer.
Ir a la carpeta de trabajo src/
Una vez dentro del contenedor, asegúrate de estar en la carpeta correcta (/var/www/html):
Puedes utilizar el comando pwd para saber en qué carpeta te encuentras.:
Comprobar carpeta actual
pwd
cd /var/www/html
Esta carpeta es donde se montó tu proyecto (src/) desde tu máquina local.
Instalar Laravel
Ahora sí, desde dentro de /var/www/html, ejecuta el siguiente comando para instalar Laravel:
Instalar Laravel
composer create-project laravel/laravel .
. (el punto)
El punto (.) al final del comando indica que Laravel debe instalarse en la carpeta actual (/var/www/html).
Composer descargará todo el framework, instalará las dependencias necesarias, y configurará el proyecto inicial. Puede tardar un poco, ten paciencia.
Resumen operativo
| Acción | Comando |
|---|---|
| Entrar al contenedor PHP | docker exec -it docker_php bash |
| Comprobar Composer | composer --version |
| Ir a la carpeta de trabajo | cd /var/www/html |
| Instalar Laravel | composer create-project laravel/laravel . |
Al finalizar el proceso, la carpeta src/ tendrá la siguiente estructura principal:
src/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── routes/
├── storage/
├── tests/
├── .env
├── artisan
└── composer.json
Tiempo de instalación
Dependiendo de tu conexión a internet y de la velocidad de tu equipo, la instalación puede tardar varios minutos.
Configurar Nginx para Laravel
Laravel está diseñado para servir su aplicación a través de la carpeta public/. Por lo tanto, es necesario ajustar la configuración de Nginx para apuntar correctamente a esta carpeta.
Edita el archivo nginx/default.conf y modifica la directiva root:
Antes:
root /var/www/html;
Después:
Configurar Nginx
root /var/www/html/public;
Además, asegúrate de que la regla de try_files esté configurada de esta forma:
Configurar try_files
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
fastcgi_param
Fíjate porque la línea fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; ha cambiado y es crucial para el funcionamiento de Laravel. Si no la modificas, nginx no podrá encontrar los archivos PHP correctamente y devolverá un error 404.
Esta configuración permite que Laravel maneje las rutas dinámicas correctamente.
Seguridad
No debes servir directamente el contenido fuera de la carpeta public/ de Laravel. Es una mala práctica de seguridad.
Levantar de nuevo los servicios Docker
Después de modificar la configuración de Nginx, es necesario reiniciar los contenedores Docker para aplicar los cambios.
Ejecuta los siguientes comandos desde la raíz del proyecto:
Reiniciar Docker
docker-compose down
docker-compose up -d
docker-compose downdetiene y elimina los contenedores actuales.docker-compose up -dvuelve a levantar los servicios en segundo plano.
Verificar instalación de Laravel
Una vez que los servicios estén arriba, abre tu navegador y accede a la siguiente URL:
Deberías ver la pantalla de bienvenida de Laravel:
"Laravel" con el mensaje de "Let's get started" o similar.
Pantalla de bienvenida

Esto indica que Laravel está instalado correctamente y que la configuración del entorno es funcional.
¡Listo para empezar!
Ahora que Laravel está instalado, el siguiente paso será aprender a trabajar con rutas, controladores y modelos dentro del framework.