馃捇 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:
- Paso 1: Preparar Docker Desktop
- Paso 2: Verificar y Configurar Composer
- Paso 3: Instalar Ubuntu (WSL2) en Windows
- Paso 4: Verificar y Configurar PHP en Ubuntu
- Paso 5: Crear y Ubicar el Proyecto
- Paso 6: Instalaci贸n de Laravel con Sail
- Paso 7: Arrancar el Servidor de Desarrollo
- Paso 8: Verificaci贸n del Proyecto en el Navegador
- Paso 9: Resoluci贸n de Problemas Comunes
- 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
-
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).
-
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.
-
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).
-
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
-
Descargar Composer:
- Visita el sitio oficial de Composer en getcomposer.org.
- En la p谩gina principal, encontrar谩s el instalador para tu sistema operativo.
-
Instalar Composer en Windows (Usando el instalador):
- Descarga el archivo
Composer-Setup.exedesde 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.
- Descarga el archivo
-
Instalar Composer en Linux o macOS:
- Abre tu terminal y ejecuta los siguientes comandos:
- Esto descargar谩 Composer y lo mover谩 a una ubicaci贸n accesible globalmente, de modo que puedas ejecutar el comando
composerdesde cualquier directorio.
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer
-
Verificaci贸n Final:
- Cierra y vuelve a abrir tu terminal o PowerShell.
- Ejecuta nuevamente el comando
composer -Vpara 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/composerpara mover Composer a una ubicaci贸n accesible globalmente. - Verifica que Composer est茅 en tu PATH ejecutando
echo $PATHy 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
sudopara ejecutar la operaci贸n con permisos elevados. - Si persisten los problemas de permisos, verifica los permisos de la carpeta con
ls -ly 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
-
Verificar que WSL est谩 habilitado:
- Abre PowerShell como administrador y ejecuta el siguiente comando para habilitar WSL:
- Esto instalar谩 WSL y configurar谩 autom谩ticamente WSL2 como la versi贸n predeterminada.
wsl --install
-
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:
- Una vez que la instalaci贸n se haya completado, Ubuntu estar谩 disponible en tu sistema.
wsl --install -d Ubuntu
-
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
wslo directamente desde el men煤 de inicio de Windows.
-
Verificaci贸n Final:
- Para asegurarte de que todo est茅 funcionando correctamente, ejecuta el siguiente comando:
- Deber铆as ver Ubuntu en la lista de distribuciones, y el estado deber铆a ser "Running" con la versi贸n WSL2 activa.
wsl --list --verbose
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:
- Luego reinicia tu PC para que los cambios se apliquen correctamente.
wsl --set-default-version 2
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:
- Luego vuelve a instalar Ubuntu desde la tienda de Microsoft o utilizando el comando de instalaci贸n desde PowerShell.
wsl --unregister Ubuntu
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
-
Actualizar el sistema y los repositorios:
sudo apt update && sudo apt upgrade -y
-
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
-
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:
Esto te abrir谩 directamente la consola de Ubuntu dentro de Windows.
wsl
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 → Settings → Resources → WSL 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:
- Det茅n el servidor con
Ctrl + C. - Ejecuta en la terminal:
./vendor/bin/sail up -d
- 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:
- En la terminal, aseg煤rate de estar en la carpeta del proyecto:
cd /mnt/c/proyectos/tiendaonline
- Luego ejecuta el siguiente comando para crear todas las tablas iniciales:
php artisan migrate
- 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:
- Abre el archivo .env:
nano .env
- 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 - Guarda con Ctrl + O y sal con Ctrl + X.
- 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:
- Verifica que los contenedores est茅n ejecut谩ndose:
./vendor/bin/sail ps
- Si el servicio
mysqlno aparece como “healthy”, reinicia Sail:./vendor/bin/sail down && ./vendor/bin/sail up -d
- 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:
- Aseg煤rate de estar dentro del proyecto:
cd /mnt/c/proyectos/tiendaonline
- Ejecuta las migraciones:
php artisan migrate
- 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:
- Abre el archivo .env y revisa las l铆neas de conexi贸n a base de datos:
nano .env
- 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 - 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:
- Limpia la cach茅 de configuraci贸n:
php artisan config:clear
- Limpia las rutas y vistas:
php artisan route:clear php artisan view:clear php artisan cache:clear - 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
.envantes 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.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias