10. Creación proyecto Laravel

10: Creación del Proyecto Laravel

Duración estimada: 10-15 minutos


10.1 Introducción

¡Comienza la acción! En este tutorial vamos a crear nuestro proyecto Laravel dentro del entorno Docker. Este será el primer paso concreto hacia la construcción de nuestra aplicación completa.


10.2 Ubicación del Proyecto

📁 Estructura del proyecto

Recuerda que el proyecto Laravel debe estar dentro de la carpeta laravel/ que tenemos en la raíz del proyecto:

text
📂 proyecto-desarrollo/
├── 📂 docker/           # Configuraciones de contenedores
├── 📂 laravel/          # ← ¡Aquí va nuestro proyecto!
├── 📄 docker-compose.yml
└── 📄 .env.local

10.3 Creación del Proyecto Laravel

🚀 Comando principal

bash
docker exec -it laravel_app composer create-project laravel/laravel .

📝 Desglose del comando:

Parte del comandoSignificado
docker execEjecutar comando dentro de un contenedor
-itInteractivo (modo terminal)
laravel_appNombre del contenedor de PHP
composer create-projectComando de Composer para crear proyecto
laravel/laravelPaquete oficial de Laravel
.Crear en el directorio actual (no en subcarpeta)

💡 Nota: El punto (.) al final es crucial. Sin él, Composer creará una subcarpeta adicional.

⏱️ Tiempo estimado

  • Instalación: 2-5 minutos (dependiendo de la conexión a internet)

  • Configuración inicial: 1 minuto

  • Total: ~3-6 minutos


10.4 Verificación de la Instalación

✅ Comandos para verificar

bash
# Verificar que el proyecto se creó correctamente
docker exec -it laravel_app ls -la /var/www/html

# Verificar versión de Laravel
docker exec -it laravel_app php artisan --version

# Verificar estructura de carpetas
docker exec -it laravel_app ls -la /var/www/html/app

📋 Archivos que deberías ver:

text
.env           # Variables de entorno
artisan        # CLI de Laravel
app/           # Código principal
bootstrap/     # Archivos de arranque
config/        # Configuración
database/      # Migraciones y seeders
public/        # Archivos públicos (index.php)
resources/     # Vistas y assets
routes/        # Definición de rutas
storage/       # Archivos generados
tests/         # Tests
vendor/        # Dependencias de PHP

10.5 Verificación en el Navegador

🌐 Acceso a la aplicación

  1. Abre tu navegador

  2. Visita http://localhost:8080

  3. Deberías ver la página de bienvenida de Laravel

🟢 Resultado esperado

https://laravel.com/img/logomark.min.svg

Verás algo como:

text
✨ Laravel v12.x

Documentation  |  Laracasts  |  News  |  Blog  |  Nova  |  Forge

10.6 Posibles Errores y Soluciones

❌ Error: "You are not allowed to execute this command"

Causa: El contenedor no tiene permisos de escritura.

Solución:

bash
# En Linux/Mac, dar permisos a la carpeta
sudo chmod -R 777 laravel/

# O ajustar el usuario en docker-compose.yml
user: "1000:1000"

❌ Error: "Could not find package laravel/laravel"

Causa: Problema de conexión a internet o caché de Composer.

Solución:

bash
# Limpiar caché de Composer
docker exec -it laravel_app composer clear-cache

# Intentar de nuevo
docker exec -it laravel_app composer create-project laravel/laravel .

❌ Error: "The directory is not empty"

Causa: La carpeta laravel/ ya tiene archivos.

Solución:

bash
# Opción 1: Vaciar la carpeta (haz backup primero)
docker exec -it laravel_app rm -rf /var/www/html/*

# Opción 2: Crear en una subcarpeta
docker exec -it laravel_app composer create-project laravel/laravel new-project

❌ Error: "PHP extension ext-pdo_pgsql missing"

Solución: Asegúrate de que el Dockerfile tenga instalada la extensión PostgreSQL.

dockerfile
# Verificar en docker/app/Dockerfile
RUN docker-php-ext-install pdo_pgsql pgsql

10.7 Permisos de Archivos

🔧 Ajuste de permisos (Linux/Mac)

bash
# Dar permisos al proyecto
sudo chown -R $USER:$USER laravel/
sudo chmod -R 775 laravel/storage
sudo chmod -R 775 laravel/bootstrap/cache

🔧 Ajuste de permisos (Windows)

powershell
# Desde PowerShell (como Administrador)
icacls laravel /grant Users:F /T

10.8 Configuración Inicial de Laravel

📝 Comandos útiles después de la instalación

bash
# Generar clave de aplicación
docker exec -it laravel_app php artisan key:generate

# Verificar entorno
docker exec -it laravel_app php artisan env

# Verificar conexión a base de datos (próximamente)
docker exec -it laravel_app php artisan db:show

10.9 Resumen del Progreso

🎯 Hitos completados:

  • ✅ Contenedores Docker funcionando

  • ✅ Proyecto Laravel instalado

  • ✅ Aplicación accesible en el navegador

🚀 Próximos pasos:

  1. Configurar variables de entorno (.env)

  2. Configurar conexión a PostgreSQL

  3. Instalar y configurar Inertia.js

  4. Instalar y configurar React


10.10 Notas Adicionales

💡 ¿Sirve para proyectos sin Inertia?

¡Sí! Esta orquestación Docker funciona perfectamente para cualquier proyecto Laravel, incluso si no vas a usar Inertia o React.

🔧 Uso en producción

Esta misma orquestación puede adaptarse para entornos de producción, con algunos ajustes de seguridad y rendimiento.


📝 Ejercicio de la Clase

Para practicar la creación del proyecto:

  1. Crea el proyecto Laravel siguiendo el comando del tutorial

  2. Verifica la instalación en el navegador

  3. Explora la estructura de carpetas generada

  4. Ejecuta php artisan --version para verificar la versión

  5. Genera la clave de aplicación con php artisan key:generate

🔍 Comandos de verificación:

bash
# Verificar que el proyecto funciona
curl http://localhost:8080

# Verificar versión de Laravel
docker exec -it laravel_app php artisan --version

# Verificar que las rutas están definidas
docker exec -it laravel_app php artisan route:list

📚 Recursos Adicionales


¡Excelente! Has creado tu proyecto Laravel. Continúa al Tutorial 11: Configuración de Variables de Entorno

Comentarios