馃捇 **Instalaci贸n de Laravel:** Usando Sail y preparando el entorno PHP

 

馃捇 Instalaci贸n de Laravel: Usando Sail y Preparando el Entorno PHP

   

Introducci贸n: Preparando el Entorno para Laravel con Sail y Docker

      Antes de comenzar a desarrollar cualquier aplicaci贸n en Laravel, es fundamental tener la base correcta. En esta gu铆a, te ense帽aremos c贸mo preparar el entorno de desarrollo ideal para Laravel utilizando **Laravel Sail**, la soluci贸n oficial basada en **Docker**. Sail proporciona un entorno aislado y consistente, lo que facilita la gesti贸n de servicios como PHP y MySQL sin la necesidad de herramientas adicionales como XAMPP.

      A trav茅s de esta serie de pasos, aprender谩s a instalar Docker Desktop, configurar Composer y, finalmente, poner en marcha tu proyecto Laravel. Este proceso es esencial para establecer una base s贸lida para tu desarrollo, asegurando que trabajes con las herramientas m谩s modernas y eficientes.

馃敡 脥ndice de Pasos:

  1. Paso 1: Preparar Docker Desktop
  2. Paso 2: Verificar y Configurar Composer
  3. Paso 3: Instalar Ubuntu (WSL2) en Windows
  4. Paso 4: Verificar y Configurar PHP en Ubuntu
  5. Paso 5: Crear y Ubicar el Proyecto
  6. Paso 6: Instalaci贸n de Laravel con Sail
  7. Paso 7: Arrancar el Servidor de Desarrollo
  8. Paso 8: Verificaci贸n del Proyecto en el Navegador
  9. Paso 9: Resoluci贸n de Problemas Comunes
  10. Paso 10: Mantenimiento y Actualizaci贸n de tu Entorno

1. 馃洜️ Preparar Docker Desktop

      Docker Desktop es una herramienta esencial para ejecutar Laravel Sail de manera correcta. Antes de comenzar con la instalaci贸n de Laravel, debemos asegurarnos de que Docker est茅 instalado y en funcionamiento. Si ya tienes Docker Desktop instalado, podemos pasar al siguiente paso, pero si no es as铆, deberemos instalarlo.

Verificaci贸n de Docker: ¿Est谩 instalado?

      Lo primero que debes hacer es verificar si Docker ya est谩 instalado en tu m谩quina. Para ello, abre tu terminal o PowerShell y ejecuta el siguiente comando:

docker --version

      Si Docker est谩 instalado, ver谩s algo similar a lo siguiente:

Docker version 20.10.7, build f0df350

      Si ves este resultado, ¡Docker est谩 listo para usar! Puedes continuar con el siguiente paso.

¿No tienes Docker instalado? Inst谩lalo siguiendo estos pasos:

Si recibes un error que dice algo como "docker: command not found" o "docker: no se reconoce como nombre de un cmdlet...", significa que Docker no est谩 instalado o no est谩 configurado correctamente en tu sistema. A continuaci贸n, te explicamos c贸mo instalar Docker Desktop.

Pasos para instalar Docker Desktop
  1. Descargar Docker Desktop:
    • Visita el sitio web oficial de Docker en docker.com.
    • Descarga la versi贸n compatible con tu sistema operativo (Windows o macOS).
  2. Instalar Docker:
    • Ejecuta el instalador descargado y sigue las instrucciones en pantalla.
    • En Windows, es posible que necesites habilitar caracter铆sticas de virtualizaci贸n como WSL 2 o Hyper-V durante la instalaci贸n. El instalador te guiar谩 a trav茅s de estas opciones.
  3. Iniciar Docker Desktop:
    • Una vez instalado, busca y abre Docker Desktop desde el men煤 de inicio o aplicaciones de tu sistema.
    • Espera a que Docker se inicie completamente (el 铆cono de la ballena 馃惓 debe volverse s贸lido).
  4. Verificaci贸n Final:
    • Cierra y vuelve a abrir tu terminal o PowerShell.
    • Vuelve a ejecutar el comando docker --version. Si ves un n煤mero de versi贸n, Docker se ha instalado correctamente y est谩 listo para usar.

Errores comunes durante la instalaci贸n de Docker Desktop

A continuaci贸n, te mencionamos algunos de los errores m谩s comunes que podr铆as encontrar durante la instalaci贸n de Docker Desktop y sus posibles soluciones:

Error 1: "Docker no se reconoce como un comando" o "docker: command not found"

Esto significa que Docker no est谩 instalado correctamente o que no est谩 en el PATH de tu sistema.

Soluci贸n:
  • Verifica que Docker se haya instalado correctamente siguiendo los pasos de instalaci贸n.
  • Si instalaste Docker en Windows, aseg煤rate de haber habilitado WSL 2 y de que Hyper-V est茅 activado.
  • Reinicia tu m谩quina despu茅s de la instalaci贸n para asegurarte de que todos los cambios se apliquen correctamente.
Error 2: "Docker Desktop no puede iniciarse" o "Docker no responde"

Esto puede ocurrir si hay problemas con los servicios de Docker o si no se han configurado correctamente.

Soluci贸n:
  • Aseg煤rate de que tu sistema cumpla con los requisitos m铆nimos para ejecutar Docker Desktop, como tener la virtualizaci贸n activada en la BIOS.
  • Reinicia el servicio de Docker desde la interfaz de Docker Desktop o reinicia tu m谩quina.
  • Consulta el archivo de log de Docker para obtener m谩s detalles sobre el error.
Error 3: "Falta la caracter铆stica de virtualizaci贸n" o "WSL no est谩 habilitado"

Este error ocurre principalmente en sistemas Windows si no has habilitado caracter铆sticas de virtualizaci贸n como WSL 2 o Hyper-V.

Soluci贸n:
  • Activa la virtualizaci贸n en la BIOS de tu m谩quina.
  • Habilita WSL 2 y Hyper-V siguiendo las instrucciones que Docker te proporciona durante la instalaci贸n o consulta la documentaci贸n oficial de Docker.

2. 馃摝 Verificar y Configurar Composer

      **Composer** es una herramienta crucial para gestionar las dependencias de tu proyecto Laravel. Laravel Sail utiliza Composer internamente, pero es importante asegurarse de que est茅 correctamente instalado y configurado en tu sistema. En este paso, verificaremos si Composer est谩 instalado, y si no lo est谩, procederemos a instalarlo. Tambi茅n abordaremos los errores comunes durante la instalaci贸n y c贸mo solucionarlos.

Verificaci贸n de Composer: ¿Est谩 instalado?

      El primer paso es verificar si Composer est谩 instalado en tu sistema. Para ello, abre tu terminal o PowerShell y ejecuta el siguiente comando:

composer -V

      Si Composer est谩 instalado correctamente, ver谩s algo similar a lo siguiente:

Composer version 2.7.6 2021-09-29 16:51:03

      Si ves este resultado, ¡Composer est谩 listo para usar! Puedes continuar con el siguiente paso. Si en lugar de esto ves un error, sigue las instrucciones a continuaci贸n para instalar Composer.

¿No tienes Composer instalado? Inst谩lalo siguiendo estos pasos:

Si el comando anterior te da un error como "composer: command not found", significa que Composer no est谩 instalado. A continuaci贸n, te mostramos c贸mo instalarlo.

Pasos para instalar Composer
  1. Descargar Composer:
    • Visita el sitio oficial de Composer en getcomposer.org.
    • En la p谩gina principal, encontrar谩s el instalador para tu sistema operativo.
  2. Instalar Composer en Windows (Usando el instalador):
    • Descarga el archivo Composer-Setup.exe desde el sitio oficial de Composer.
    • Ejecuta el archivo descargado y sigue las instrucciones del instalador.
    • El instalador configurar谩 autom谩ticamente Composer en tu sistema y a帽adir谩 Composer al PATH para que pueda ejecutarse desde cualquier terminal.
  3. Instalar Composer en Linux o macOS:
    • Abre tu terminal y ejecuta los siguientes comandos:
    • curl -sS https://getcomposer.org/installer | php
      sudo mv composer.phar /usr/local/bin/composer
    • Esto descargar谩 Composer y lo mover谩 a una ubicaci贸n accesible globalmente, de modo que puedas ejecutar el comando composer desde cualquier directorio.
  4. Verificaci贸n Final:
    • Cierra y vuelve a abrir tu terminal o PowerShell.
    • Ejecuta nuevamente el comando composer -V para verificar que Composer est茅 correctamente instalado.

Errores comunes durante la instalaci贸n de Composer

Durante la instalaci贸n de Composer, es posible que encuentres algunos errores comunes. A continuaci贸n, te explicamos c贸mo solucionarlos.

Error 1: "composer: command not found" en Linux o macOS

Este error ocurre si Composer no se ha instalado correctamente o no se ha a帽adido al PATH de tu sistema.

Soluci贸n:
  • Aseg煤rate de haber ejecutado el comando sudo mv composer.phar /usr/local/bin/composer para mover Composer a una ubicaci贸n accesible globalmente.
  • Verifica que Composer est茅 en tu PATH ejecutando echo $PATH y asegur谩ndote de que la ruta de Composer est茅 incluida.
Error 2: "Error al ejecutar curl" o problemas de conexi贸n en Windows

Este error puede ocurrir si tu m谩quina tiene configuraciones de proxy o firewall que impiden la descarga de Composer.

Soluci贸n:
  • Verifica tu configuraci贸n de red y aseg煤rate de que no haya ning煤n proxy o firewall que bloquee la conexi贸n.
  • Si est谩s detr谩s de un proxy, configura Composer para usarlo mediante el siguiente comando:
    composer config -g http-proxy http://your.proxy:port
Error 3: "Permission denied" al intentar mover Composer a una carpeta global (Linux/macOS)

Este error ocurre cuando el sistema no tiene permisos suficientes para mover Composer a la ubicaci贸n global.

Soluci贸n:
  • Usa el comando sudo para ejecutar la operaci贸n con permisos elevados.
  • Si persisten los problemas de permisos, verifica los permisos de la carpeta con ls -l y ajusta los permisos seg煤n sea necesario.

3. 馃惂 Instalar Ubuntu (WSL2) en Windows

      Para trabajar con Docker y Laravel Sail en Windows, necesitamos instalar una distribuci贸n de Linux, y la mejor opci贸n es **Ubuntu**. Utilizaremos **WSL2 (Windows Subsystem for Linux)** para correr Ubuntu de manera eficiente dentro de Windows. En este paso, vamos a verificar si ya tienes Ubuntu instalado, y si no es as铆, te explicaremos c贸mo instalarlo.

Verificaci贸n de Ubuntu: ¿Est谩 instalado?

      Lo primero que debes hacer es verificar si **Ubuntu** ya est谩 instalado en tu m谩quina a trav茅s de **WSL2**. Para hacerlo, abre PowerShell y ejecuta el siguiente comando:

wsl --list --verbose

      Este comando mostrar谩 todas las distribuciones de Linux que tienes instaladas en **WSL2**. Si ves algo como esto:

  NAME      STATE           VERSION
* Ubuntu    Running         2

      Esto indica que **Ubuntu** ya est谩 instalado y en ejecuci贸n en tu m谩quina. Si en lugar de esto ves algo como "Ubuntu: No se encuentra" o no ves la distribuci贸n en la lista, significa que Ubuntu no est谩 instalado y deber谩s proceder con la instalaci贸n.

Instalaci贸n de Ubuntu (Si no est谩 instalado)

      Si no tienes Ubuntu instalado, sigue estos pasos para instalarlo y configurarlo en **WSL2**.

Pasos para instalar Ubuntu en WSL2
  1. Verificar que WSL est谩 habilitado:
    • Abre PowerShell como administrador y ejecuta el siguiente comando para habilitar WSL:
    • wsl --install
    • Esto instalar谩 WSL y configurar谩 autom谩ticamente WSL2 como la versi贸n predeterminada.
  2. Instalar Ubuntu:
    • Abre la tienda de Microsoft en tu PC y busca **Ubuntu**.
    • Selecciona la versi贸n de Ubuntu que desees instalar (por ejemplo, Ubuntu 20.04 LTS) y haz clic en "Instalar".
    • Alternativamente, puedes usar el siguiente comando en PowerShell para instalar Ubuntu desde la l铆nea de comandos:
    • wsl --install -d Ubuntu
    • Una vez que la instalaci贸n se haya completado, Ubuntu estar谩 disponible en tu sistema.
  3. Configurar Ubuntu:
    • Cuando abras Ubuntu por primera vez, se te pedir谩 que crees un usuario y una contrase帽a de Linux. Esto solo es necesario la primera vez.
    • Una vez configurado, puedes acceder a Ubuntu a trav茅s de PowerShell o terminal ejecutando wsl o directamente desde el men煤 de inicio de Windows.
  4. Verificaci贸n Final:
    • Para asegurarte de que todo est茅 funcionando correctamente, ejecuta el siguiente comando:
    • wsl --list --verbose
    • Deber铆as ver Ubuntu en la lista de distribuciones, y el estado deber铆a ser "Running" con la versi贸n WSL2 activa.

Errores comunes durante la instalaci贸n de Ubuntu

Durante la instalaci贸n o configuraci贸n de Ubuntu en **WSL2**, es posible que te enfrentes a algunos errores. A continuaci贸n, te mostramos los problemas m谩s comunes y sus soluciones.

Error 1: "WSL no est谩 habilitado" o "No se encuentra la versi贸n WSL2"

Este error ocurre si no has habilitado **WSL** en tu m谩quina o no has configurado **WSL2** como la versi贸n predeterminada.

Soluci贸n:
  • Abre PowerShell como administrador y ejecuta el siguiente comando para habilitar **WSL** y configurarlo a la versi贸n 2:
  • wsl --set-default-version 2
  • Luego reinicia tu PC para que los cambios se apliquen correctamente.
Error 2: "Problemas al instalar Ubuntu desde la tienda de Microsoft"

Si tienes problemas para descargar o instalar Ubuntu desde la tienda de Microsoft, podr铆a ser un problema de conectividad o de configuraci贸n de la tienda.

Soluci贸n:
  • Verifica tu conexi贸n a Internet y aseg煤rate de que la tienda de Microsoft est茅 funcionando correctamente.
  • Si el problema persiste, intenta reiniciar tu computadora y volver a intentarlo.
Error 3: "Ubuntu no arranca" o "Ubuntu est谩 atascado en la pantalla de inicio"

Este error puede ocurrir si hay un problema con el sistema de archivos o la configuraci贸n de WSL.

Soluci贸n:
  • Abre PowerShell y ejecuta el siguiente comando para restablecer Ubuntu:
  • wsl --unregister Ubuntu
  • Luego vuelve a instalar Ubuntu desde la tienda de Microsoft o utilizando el comando de instalaci贸n desde PowerShell.

4. 馃З Verificar y Configurar PHP en Ubuntu (WSL2)

      Antes de poder instalar Laravel o usar Composer correctamente, debemos asegurarnos de que PHP est茅 instalado dentro de Ubuntu (WSL2), no en Windows. Este paso es muy importante porque Laravel Sail y Docker funcionan en un entorno Linux, y el PHP de Windows no se utiliza en este caso.

Paso previo: entrar a Ubuntu (WSL2)

      Si actualmente est谩s en PowerShell (ver谩s algo como PS C:\>), primero debes entrar en el entorno de Ubuntu. Para hacerlo, abre tu terminal de PowerShell y escribe:

wsl

      Cuando pulses Enter, tu l铆nea de comandos cambiar谩 a algo como esto:

tuusuario@DESKTOP-XYZ:~$

✅ Esto significa que ahora est谩s dentro de Ubuntu (WSL2) y todos los comandos siguientes deben ejecutarse aqu铆.

Verificar ubicaci贸n y carpeta del proyecto

      Por defecto, Ubuntu te ubica en tu carpeta personal (/home/tuusuario). Si tu proyecto se encuentra en Windows, por ejemplo en C:\proyectos\tiendaonline, puedes acceder a 茅l desde Ubuntu usando la siguiente ruta:

cd /mnt/c/proyectos/tiendaonline

Para confirmar tu ubicaci贸n actual, ejecuta:

pwd

Si ves una ruta similar a /mnt/c/proyectos/tiendaonline, est谩s en el lugar correcto para trabajar con Laravel dentro de WSL2.

Verificaci贸n de PHP en Ubuntu

      Ahora que est谩s en Ubuntu, verifica si PHP ya est谩 instalado con el siguiente comando:

php -v

Si PHP est谩 instalado, deber铆as ver una salida similar a:

PHP 8.2.12 (cli) (built: Oct 27 2024 09:45:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.12, with Zend OPcache v8.2.12

Si en cambio obtienes el mensaje php: command not found, significa que PHP no est谩 instalado y deber谩s hacerlo manualmente.

Instalaci贸n de PHP y extensiones necesarias

  1. Actualizar el sistema y los repositorios:
    sudo apt update && sudo apt upgrade -y
  2. Instalar PHP con extensiones b谩sicas:
    sudo apt install php php-cli php-common php-mbstring php-xml php-curl php-zip php-mysql unzip -y
  3. Verificar instalaci贸n:
    php -v

Comprobaci贸n de la ruta PHP

Si el comando php -v sigue sin funcionar, verifica que PHP est茅 correctamente instalado con:

which php

Deber铆a devolver algo como /usr/bin/php. Si no muestra nada, reinstala PHP:

sudo apt reinstall php

✅ Con esto, confirmas que est谩s trabajando dentro de Ubuntu (WSL2) y que PHP est谩 correctamente instalado en el entorno que Laravel Sail usar谩.

5️⃣ Crear y Ubicar el Proyecto Laravel

      Ahora que ya tienes PHP y Composer funcionando correctamente dentro de Ubuntu (WSL2), es el momento de crear y ubicar tu proyecto Laravel. Este paso es esencial para asegurarte de que todo el entorno est茅 correctamente configurado antes de comenzar a desarrollar tu aplicaci贸n.

Abrir Ubuntu desde Windows

      Primero debemos abrir el terminal de Ubuntu (WSL2) desde Windows. Existen varias formas de hacerlo:

  • 馃敼 Presiona Inicio y escribe Ubuntu, luego presiona Enter.
  • 馃敼 O bien, abre PowerShell y escribe:
    wsl
    Esto te abrir谩 directamente la consola de Ubuntu dentro de Windows.

Verificar en qu茅 carpeta est谩s

      Una vez dentro de Ubuntu, debemos asegurarnos de que estamos ubicados correctamente dentro del proyecto. Para ver la ubicaci贸n actual en el sistema, ejecuta:

pwd

      Si el resultado es algo como:

/mnt/c/proyectos/tiendaonline

✅ ¡Perfecto! Est谩s dentro de la carpeta correcta. Si no est谩s en esa ubicaci贸n, mu茅vete con el siguiente comando:

cd /mnt/c/proyectos/tiendaonline

Crear un nuevo proyecto Laravel dentro de la carpeta

      Laravel debe instalarse dentro de la carpeta del proyecto (en este caso tiendaonline), ya que todos sus archivos y dependencias se crear谩n ah铆. Si la carpeta est谩 vac铆a, puedes instalar Laravel con:

composer create-project laravel/laravel .

馃敻 El punto (.) al final indica que Laravel se instalar谩 directamente en la carpeta actual. Si deseas crear un nuevo subproyecto con otro nombre, por ejemplo blog, puedes escribir:

composer create-project laravel/laravel blog

Verificar instalaci贸n de Laravel

      Una vez finalizada la instalaci贸n, aseg煤rate de que Laravel se ha instalado correctamente ejecutando:

php artisan --version

Si Laravel est谩 correctamente instalado, ver谩s una salida similar a esta:

Laravel Framework 11.9.0

✅ Eso confirma que Laravel est谩 correctamente configurado dentro de tu entorno de Ubuntu (WSL2).

Estructura esperada del proyecto

      Si todo ha ido bien, deber铆as ver una estructura de carpetas como la siguiente dentro de tu proyecto:

app/
bootstrap/
config/
database/
public/
resources/
routes/
storage/
vendor/
artisan
composer.json
.env

Soluci贸n de problemas comunes

A continuaci贸n se muestran algunos errores comunes que puedes encontrar durante la creaci贸n o ubicaci贸n del proyecto, junto con sus soluciones:

Error 1: “Could not open input file: artisan”

Este error ocurre cuando ejecutas un comando de Laravel fuera del directorio del proyecto o Laravel no est谩 instalado.

Soluci贸n:
cd /mnt/c/proyectos/tiendaonline
composer create-project laravel/laravel .
Error 2: “Permission denied”

Esto sucede si los archivos tienen permisos de Windows y no de Ubuntu.

Soluci贸n:
sudo chown -R $USER:$USER /mnt/c/proyectos/tiendaonline
Error 3: “composer: command not found”

Esto indica que Composer no est谩 instalado dentro de Ubuntu.

Soluci贸n:

Revisa el Paso 2 del tutorial y aseg煤rate de instalarlo correctamente.

Probar el servidor de Laravel

      Finalmente, para verificar que Laravel se ejecuta correctamente, inicia su servidor local con:

php artisan serve

Si todo est谩 bien, ver谩s un mensaje similar a:

Starting Laravel development server: http://127.0.0.1:8000

Ahora puedes abrir tu navegador y visitar: http://127.0.0.1:8000

馃幆 Si ves la p谩gina de bienvenida de Laravel, significa que tu proyecto est谩 correctamente instalado y funcionando dentro de Ubuntu (WSL2).

6️⃣ Instalaci贸n de Laravel con Sail

      En este paso aprender谩s a instalar y configurar Laravel Sail, el entorno de desarrollo oficial de Laravel basado en Docker. Sail te permite levantar f谩cilmente un entorno con PHP, MySQL, Redis, Mailpit y otros servicios, sin necesidad de instalarlos directamente en tu sistema.

¿Qu茅 es Laravel Sail?

      Laravel Sail es una interfaz de l铆nea de comandos (CLI) que proporciona una forma sencilla de usar Docker para ejecutar aplicaciones Laravel. Es ideal para desarrolladores que usan WSL2 en Windows o Linux, ya que permite mantener un entorno id茅ntico al de producci贸n sin conflictos locales.

Requisitos previos

Antes de continuar, aseg煤rate de tener lo siguiente configurado:

  • ✅ Docker Desktop instalado y en ejecuci贸n en Windows.
  • ✅ WSL2 configurado y funcionando correctamente.
  • ✅ PHP y Composer instalados dentro de Ubuntu (ver pasos anteriores).

1️⃣ Instalar Laravel Sail

      Si ya tienes tu proyecto Laravel creado (por ejemplo, /mnt/c/proyectos/tiendaonline), ingresa a esa carpeta desde Ubuntu:

cd /mnt/c/proyectos/tiendaonline
composer require laravel/sail --dev

Este comando instala Laravel Sail como dependencia de desarrollo en tu proyecto. Cuando termine, podr谩s inicializarlo con un conjunto de servicios predefinidos.

2️⃣ Inicializar Sail

      Ahora vamos a inicializar Sail con los servicios que necesitemos. Por ejemplo, para incluir MySQL en tu entorno, ejecuta:

php artisan sail:install --with=mysql

Puedes reemplazar mysql por otros servicios si los necesitas, como:

  • --with=pgsql → PostgreSQL
  • --with=redis → Redis
  • --with=mailpit → Mailpit (para pruebas de correo)

Laravel crear谩 un archivo docker-compose.yml con los servicios seleccionados.

3️⃣ Levantar los contenedores

      Para iniciar tu entorno de desarrollo con Sail, ejecuta:

./vendor/bin/sail up

Esto descargar谩 e iniciar谩 los contenedores Docker necesarios (PHP, MySQL, etc.). Si deseas hacerlo en segundo plano (sin ocupar la terminal), a帽ade el par谩metro -d:

./vendor/bin/sail up -d

Cuando la instalaci贸n termine, Laravel estar谩 accesible en: http://localhost

4️⃣ Ejecutar comandos con Sail

      Una vez que Sail est谩 activo, puedes ejecutar cualquier comando de Laravel usando Sail. Por ejemplo, en lugar de escribir php artisan, deber谩s anteponer sail:

./vendor/bin/sail artisan migrate
./vendor/bin/sail artisan serve
./vendor/bin/sail artisan tinker

O m谩s sencillo, puedes definir un alias para no tener que escribir toda la ruta cada vez:

alias sail='bash vendor/bin/sail'

Luego podr谩s usar simplemente:

sail artisan migrate

5️⃣ Detener el entorno

      Cuando termines de trabajar, puedes detener todos los contenedores con:

./vendor/bin/sail down

Esto apagar谩 el entorno sin eliminar los datos de tus contenedores.

馃挕 Soluci贸n de problemas comunes

Error 1: “Docker Desktop no est谩 corriendo”

Este error aparece si Docker no se ha iniciado antes de usar Sail.

Soluci贸n:

Abre Docker Desktop en Windows y espera a que muestre el estado “Running”. Luego ejecuta nuevamente:

./vendor/bin/sail up -d
Error 2: “permission denied: ./vendor/bin/sail”

Esto ocurre si el archivo sail no tiene permisos de ejecuci贸n.

Soluci贸n:
chmod +x vendor/bin/sail
Error 3: “Cannot connect to Docker daemon”

Este error indica que WSL2 no puede comunicarse con Docker.

Soluci贸n:

Aseg煤rate de que Docker est茅 habilitado para WSL2 en su configuraci贸n:
Abre Docker Desktop → SettingsResourcesWSL Integration y activa tu distribuci贸n Ubuntu.

✅ Confirmar que Sail funciona

      Para comprobar que todo funciona correctamente, ejecuta:

./vendor/bin/sail ps

Si todo est谩 correcto, ver谩s una lista de contenedores activos como:

Name                  Command              State          Ports
--------------------------------------------------------------------------------
laravel.test          start-container       Up             0.0.0.0:80->80/tcp
laravel.mysql         docker-entrypoint...  Up             3306/tcp

馃幆 ¡Listo! Ahora tienes Laravel funcionando con Sail y Docker dentro de Ubuntu (WSL2), un entorno profesional, limpio y totalmente reproducible.

7️⃣ Arrancar el Servidor de Desarrollo

      Llegamos a uno de los pasos m谩s gratificantes del proceso: ver Laravel en acci贸n. Una vez que el framework est茅 instalado y todo est茅 configurado correctamente, podemos ejecutar el servidor de desarrollo que Laravel incluye por defecto. Este servidor te permitir谩 probar tu aplicaci贸n directamente desde el navegador.

馃搨 Verificar que est谩s dentro del proyecto

      Antes de iniciar el servidor, aseg煤rate de que te encuentras dentro de la carpeta ra铆z del proyecto Laravel. En tu terminal de Ubuntu (WSL2), ejecuta:

pwd

El resultado debe ser algo como:

/mnt/c/proyectos/tiendaonline

Si no est谩s en esa ruta, mu茅vete con:

cd /mnt/c/proyectos/tiendaonline

馃殌 Iniciar el servidor de Laravel

      Para iniciar el servidor integrado de Laravel, ejecuta el siguiente comando:

php artisan serve

Si todo est谩 bien, Laravel iniciar谩 su servidor local y te mostrar谩 un mensaje similar a este:

Starting Laravel development server: http://127.0.0.1:8000
[Thu Nov  4 14:22:31 2025] PHP 8.2.12 Development Server (http://127.0.0.1:8000) started
    

✅ Esto significa que tu servidor est谩 funcionando correctamente.

馃寪 Acceder desde el navegador

      Abre tu navegador en Windows (Edge, Chrome o Firefox) y entra a la siguiente direcci贸n:

http://127.0.0.1:8000

Si todo est谩 correctamente configurado, deber铆as ver la pantalla de bienvenida de Laravel con el mensaje:

Laravel 11 – You have arrived!

馃洃 Detener el servidor

      Mientras el servidor est茅 corriendo, la terminal permanecer谩 activa. Si quieres detenerlo, simplemente presiona:

CTRL + C

Esto cerrar谩 el servidor y te devolver谩 al prompt normal del sistema.

⚠️ Errores comunes al iniciar el servidor

Error 1: “Could not open input file: artisan”

Esto ocurre cuando ejecutas el comando fuera del directorio del proyecto Laravel.

✅ Soluci贸n:
cd /mnt/c/proyectos/tiendaonline
Error 2: “Address already in use”

Este error aparece cuando el puerto 8000 ya est谩 siendo usado por otro proceso.

✅ Soluci贸n:
php artisan serve --port=8080

Luego accede desde tu navegador a: http://127.0.0.1:8080

Error 3: “PHP not found” o “Command ‘php’ not recognized”

Este mensaje indica que el comando PHP no est谩 disponible en tu entorno de Ubuntu o no fue correctamente instalado.

✅ Soluci贸n:

Verifica la instalaci贸n de PHP con:

php -v

Si no aparece la versi贸n, revisa el Paso 4 de este tutorial para reinstalarlo.

馃帀 Confirmaci贸n final

      Si has llegado hasta aqu铆 y puedes ver la p谩gina de Laravel en el navegador, ¡felicitaciones! Has completado con 茅xito el entorno de desarrollo b谩sico de Laravel dentro de Ubuntu (WSL2).

8️⃣ Verificaci贸n del Proyecto en el Navegador

      ¡Excelente! Si has seguido todos los pasos anteriores, ya tienes tu entorno listo, el servidor en marcha y el proyecto Laravel funcionando. Ahora llega el momento de verificar que todo est谩 correctamente configurado en el navegador.

Abrir Laravel en el navegador

      Una vez que hayas ejecutado el comando:

php artisan serve

Ver谩s un mensaje similar a este en la terminal:

INFO  Server running on [http://127.0.0.1:8000]
Press Ctrl+C to stop the server
    

      Esto significa que el servidor de desarrollo de Laravel est谩 en ejecuci贸n. Abre tu navegador (por ejemplo, Chrome o Firefox) y escribe la siguiente direcci贸n en la barra:

http://127.0.0.1:8000

Si todo est谩 correctamente configurado, deber铆as ver la pantalla de bienvenida de Laravel.

Posibles problemas al abrir la p谩gina

A veces, el servidor de Laravel se ejecuta, pero el navegador muestra un error. A continuaci贸n explicamos los m谩s comunes y c贸mo resolverlos:

⚠️ Error 1: "php_network_getaddresses: getaddrinfo for mysql failed"

Esto ocurre cuando Laravel intenta conectarse a la base de datos MySQL pero no encuentra el servidor. En proyectos que usan Laravel Sail (con Docker), este error suele aparecer si los contenedores no est谩n completamente levantados.

✅ Soluci贸n:
  1. Det茅n el servidor con Ctrl + C.
  2. Ejecuta en la terminal:
    ./vendor/bin/sail up -d
  3. Una vez que todos los contenedores est茅n corriendo, vuelve a abrir el navegador.
⚠️ Error 2: “Base table or view not found”

Este error indica que Laravel s铆 logr贸 conectarse a la base de datos, pero las tablas a煤n no han sido creadas. Es algo normal la primera vez que arrancas el proyecto.

✅ Soluci贸n:
  1. En la terminal, aseg煤rate de estar en la carpeta del proyecto:
    cd /mnt/c/proyectos/tiendaonline
  2. Luego ejecuta el siguiente comando para crear todas las tablas iniciales:
    php artisan migrate
  3. Cuando el proceso termine correctamente, recarga la p谩gina en el navegador.
⚠️ Error 3: “Access denied for user 'root'@'localhost'”

Esto significa que los datos de conexi贸n en el archivo .env no coinciden con los de tu contenedor MySQL.

✅ Soluci贸n:
  1. Abre el archivo .env:
    nano .env
  2. Verifica que estas l铆neas sean correctas:
    DB_CONNECTION=mysql
    DB_HOST=mysql
    DB_PORT=3306
    DB_DATABASE=laravel
    DB_USERNAME=sail
    DB_PASSWORD=password
              
  3. Guarda con Ctrl + O y sal con Ctrl + X.
  4. Reinicia los contenedores con:
    ./vendor/bin/sail down && ./vendor/bin/sail up -d

Comprobaci贸n final

      Una vez solucionados los posibles errores, actualiza tu navegador. Si todo est谩 correcto, deber铆as ver la cl谩sica pantalla con el logotipo de Laravel y la versi贸n instalada.

馃帀 ¡Felicidades! Has completado la configuraci贸n inicial y verificado que tu entorno Laravel funciona correctamente dentro de Ubuntu (WSL2) usando Docker y Sail.

A partir de este punto, ya puedes comenzar a desarrollar tu aplicaci贸n, crear rutas, controladores, vistas y migraciones sin problemas.

9️⃣ Resoluci贸n de Problemas Comunes

      Aunque Laravel es un framework muy potente y flexible, su configuraci贸n inicial puede generar algunos inconvenientes, sobre todo al trabajar con Docker, Sail y WSL2. En este apartado veremos los errores m谩s frecuentes y sus soluciones paso a paso.

馃敼 Error 1: "php_network_getaddresses: getaddrinfo for mysql failed"

Este error aparece cuando Laravel intenta conectarse a la base de datos, pero el servicio de MySQL no est谩 disponible o el nombre del host no es correcto.

✅ Soluci贸n:
  1. Verifica que los contenedores est茅n ejecut谩ndose:
    ./vendor/bin/sail ps
  2. Si el servicio mysql no aparece como “healthy”, reinicia Sail:
    ./vendor/bin/sail down && ./vendor/bin/sail up -d
  3. Comprueba que las variables del archivo .env est茅n configuradas correctamente:
    DB_CONNECTION=mysql
    DB_HOST=mysql
    DB_PORT=3306
    DB_DATABASE=laravel
    DB_USERNAME=sail
    DB_PASSWORD=password
            

馃敼 Error 2: “Base table or view not found”

Esto ocurre cuando Laravel intenta acceder a una tabla que todav铆a no existe. Suele pasar al cargar la p谩gina principal si a煤n no ejecutaste las migraciones.

✅ Soluci贸n:
  1. Aseg煤rate de estar dentro del proyecto:
    cd /mnt/c/proyectos/tiendaonline
  2. Ejecuta las migraciones:
    php artisan migrate
  3. Si no tienes tablas definidas, Laravel crear谩 las b谩sicas (users, migrations, password_resets, etc.).

馃敼 Error 3: “Access denied for user 'root'@'localhost'”

Esto indica que las credenciales configuradas en el archivo .env no coinciden con las que usa el contenedor de MySQL.

✅ Soluci贸n:
  1. Abre el archivo .env y revisa las l铆neas de conexi贸n a base de datos:
    nano .env
  2. Corrige las variables para que queden as铆:
    DB_CONNECTION=mysql
    DB_HOST=mysql
    DB_PORT=3306
    DB_DATABASE=laravel
    DB_USERNAME=sail
    DB_PASSWORD=password
            
  3. Guarda los cambios (Ctrl + O → Enter → Ctrl + X) y reinicia el entorno:
    ./vendor/bin/sail down && ./vendor/bin/sail up -d

馃敼 Error 4: “Permission denied” o problemas de permisos en archivos

Puede aparecer si los archivos del proyecto se crearon con permisos de Windows y el sistema Ubuntu (WSL2) no puede escribir en ellos.

✅ Soluci贸n:
sudo chown -R $USER:$USER /mnt/c/proyectos/tiendaonline

馃敼 Error 5: “composer: command not found”

Esto significa que Composer no est谩 instalado dentro de Ubuntu (aunque lo est茅 en Windows).

✅ Soluci贸n:

Vuelve al Paso 2 del tutorial y aseg煤rate de instalar Composer dentro de Ubuntu con:

sudo apt install composer -y

馃敼 Error 6: Laravel no carga en el navegador (pantalla en blanco o error 500)

Esto puede deberse a errores de cach茅 o configuraci贸n previa.

✅ Soluci贸n:
  1. Limpia la cach茅 de configuraci贸n:
    php artisan config:clear
  2. Limpia las rutas y vistas:
    php artisan route:clear
    php artisan view:clear
    php artisan cache:clear
            
  3. Reinicia el servidor:
    php artisan serve

馃Л Consejo Final

Si despu茅s de aplicar todas estas soluciones el problema persiste, puedes comprobar los errores directamente en el archivo de logs de Laravel:

cat storage/logs/laravel.log

Este archivo mostrar谩 informaci贸n detallada sobre los errores y te ayudar谩 a identificar el origen exacto del problema.

✅ Con estos pasos podr谩s resolver el 95% de los errores comunes en la instalaci贸n y configuraci贸n de Laravel en tu entorno Docker/WSL2.

馃敓 Mantenimiento y Actualizaci贸n de tu Entorno

      Una vez que tu entorno de desarrollo con Laravel, Sail, Docker y WSL2 est茅 funcionando correctamente, es importante mantenerlo actualizado para evitar errores, vulnerabilidades y problemas de compatibilidad. A continuaci贸n, te mostramos c贸mo hacerlo paso a paso de manera segura.

馃敼 Actualizar los paquetes de Ubuntu (WSL2)

      Comienza por actualizar el sistema Ubuntu dentro de WSL2 para tener las 煤ltimas versiones de sus librer铆as. Abre el terminal de Ubuntu y ejecuta:

sudo apt update && sudo apt upgrade -y
sudo apt autoremove -y
    

馃挕 Esto mantendr谩 tu sistema Linux limpio y actualizado, eliminando dependencias que ya no sean necesarias.

馃敼 Actualizar Composer

      Composer es una herramienta clave en Laravel. Para asegurarte de que est谩s usando la 煤ltima versi贸n, ejecuta:

composer self-update

Si Composer fue instalado globalmente con apt, tambi茅n puedes actualizarlo as铆:

sudo apt install composer -y

馃敼 Actualizar las dependencias del proyecto Laravel

      Mantener tus paquetes actualizados es esencial para la seguridad y el rendimiento del proyecto. Desde la carpeta ra铆z del proyecto, ejecuta:

composer update

Esto descargar谩 las versiones m谩s recientes de todas las dependencias definidas en el archivo composer.json.

馃敼 Actualizar Laravel Sail y los contenedores Docker

      Dado que Sail funciona con im谩genes Docker, conviene actualizarlas peri贸dicamente. Para ello, ejecuta los siguientes comandos:

./vendor/bin/sail down
./vendor/bin/sail pull
./vendor/bin/sail up -d
    

馃殌 Con esto descargar谩s las versiones m谩s recientes de los contenedores (PHP, MySQL, Redis, etc.) y reiniciar谩s el entorno actualizado.

馃敼 Verificar la versi贸n actual de Laravel

      Para confirmar qu茅 versi贸n de Laravel est谩s utilizando, ejecuta:

php artisan --version

馃敼 Limpiar cach茅s y optimizar el proyecto

      Con el tiempo, Laravel acumula archivos temporales y cach茅s. Puedes limpiarlos f谩cilmente con los siguientes comandos:

php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
php artisan optimize
    

馃敼 Revisar el estado de los servicios Docker

      Para verificar que todo funciona correctamente despu茅s de una actualizaci贸n, usa:

./vendor/bin/sail ps

Si alg煤n contenedor muestra errores, puedes reiniciarlo individualmente:

./vendor/bin/sail restart nombre_del_servicio

馃Л Buenas pr谩cticas de mantenimiento

  • 馃敻 Actualiza tu entorno al menos una vez al mes.
  • 馃敻 Revisa el archivo .env antes de cualquier despliegue.
  • 馃敻 Realiza copias de seguridad de tu base de datos con regularidad.
  • 馃敻 Usa control de versiones (Git) para guardar cambios de forma segura.
  • 馃敻 Evita modificar directamente archivos dentro de vendor/.

✅ Siguiendo estas pr谩cticas, tu entorno Laravel se mantendr谩 estable, actualizado y listo para el desarrollo diario sin interrupciones.

Publicar un comentario

0 Comentarios