> Manuales > Manual de Laravel

Ayuda detallada para usar Laravel Valet como entorno de desarrollo en MacOS. Por qué usar Valet, cómo instalarlo, cómo crear sitios y cómo realizar la personalización de los servicios como PHP y MySQL.

Instalar y usar Laravel Valet para Mac OS X

Valet es un software perteneciente al ecosistema de Laravel que sirve para crear de manera cómoda un servidor capaz de ejecutar las aplicaciones PHP. Es excelente porque resulta muy ligero y sencillo de funcionar, pero sobre todo porque trabaja mediante la creación de Virtual Host.

Tener un host virtual para cada proyecto permite que cada uno se encuentre dentro de un dominio independiente. Gracias a tener ese dominio específico para la web, eres capaz de de servir un proyecto de manera similar a como se estaría sirviendo en su propio dominio, en lugar de tenerlos en una carpeta dentro de "localhost", como ocurriría con una instalación básica de Xampp.

Lo único malo de Valet es que está solamente disponible para Mac. Por eso los usuarios de Windows tendrán que usar Homestead o algún software como Laragon.

Puedes ver otros programas todo-en-uno para crear entornos de desarrollo si necesitas todavía más posibilidades: colección de software para montar cómdamente un servidor de desarrollo

Instalar Valet

Para instalar Valet tienes que usar el gestor de paquetes de Mac "Homebrew". Comenzamos actualizando la lista de repositorios de estos paquetes con el comando:

brew update

Luego tendrás que instalar PHP, si es que no lo has instalado ya en tu sistema. También es muy sencillo gracias a Homebrew.

brew install php

Instalar PHP con Homebrew

Ahora, si no tienes Composer (el gestor de dependencias de PHP) instalado, tendrás que Instalar composer con el script de la propia página de Composer. Tienes más información en el artículo de instalación de Composer

Para facilitarte la vida en el uso de Composer es una buena idea mover el ejecutable a tu carpeta bin del usuario, para que puedas tener el comando "composer" desde cualquier localización de tu terminal.

mv composer.phar /usr/local/bin/composer

Así Composer quedará instalado de manera global y lo podrás usar en tu ordenador, lanzando el comando composer desde el terminal, estando situado en cualquier carpeta del sistema.

Si quieres más información sobre el gestor de dependencias de PHP la tienes en el Manual de Composer

Instalar Valet vía composer

El siguiente paso consiste en instalar el propio Valet, lo que hacemos mediante Composer. Lo realizaremos de manera global a nuestro sistema, para que puedas usar Valet desde cualquier carpeta del disco. Estando en el terminal ejecutamos:

composer global require laravel/valet

Instalar Valet con Composer

Gestionar posibles problemas con el Path y los globales de Composer

En este punto deberías asegurarte que tienes en el path la ruta del binario de composer ~/.composer/vendor/bin porque la necesitarás, para que los ejecutables que hemos instalado de manera global los tengas disponibles en cualquier carpeta de tu terminal.

Podemos comprobar el estado del Path en nuestro sistema con el comando.

echo $PATH

Si no aparece el path que se vería a la carpeta :~/.composer/vendor/bin lo puedes introducir tú mismo. Para eso ejecutamos el siguiente comando:

export PATH=$PATH:~/.composer/vendor/bin

Correr el script de instalación de Valet

Después de tener el proyecto Valet instalado, aún tenemos que correr el script de instalación de Valet, mediante el comando.

valet install 

Instalar MariaDB

Valet no instala MariaDB o MySQL por nosotros. Solamente sirve como servidor web instalando Nginx y permitiendo trabajar al crear cómodamente los host virtuales. De modo que, si queremos usar estos SGBD los tendremos que instalar por nosotros mismos.

Podría parecer una desventaja que no instale un sistema de bases de datos, pero en realidad es una buena idea, porque no siempre necesitas uno, ya que podrías usar simplemente SQLite, o bien necesitas un sistema gestor en especial o una versión concreta. Por lo tanto, es en realidad una ventaja tenerlos por separado.

Vamos a ver cómo instalar MariaDB, que generalmente lo prefiero a MySQL por estar más alineado con las políticas de software libre. En Mac, lo conseguimos con un par de comandos de Homebrew.

brew install mariadb

Para gestionar el auto-arranque de MariaDB cada vez que el sistema se reinicia, tenemos que lanzar otro comando, que hace uso de una de las utilidades de Homebrew para la gestión de servicios que tienen que permanecer activos.

brew services start mariadb

Si no necesitas tener MySQL / MariaDB continuamente ejecutándose en tu máquina y deseas simplemente iniciar el sistema gestor de base de datos puntualmente, puedes usar este otro comando:

mysql.server start

Sin embargo, recuerda que cada vez que reinicies tu ordenador y necesites MySQL o MariaDB de nuevo funcionando, necesitarás volverlo a arrancar.

Instalar Redis

Si piensas usar Redis en local para tus aplicaciones Laravel con Valet tendrás que instalarlo de manera adicional, igual que hemos tenido que hacer con Mysql/mariadb. Para ello usaremos Homebrew, ya que es el método más sencillo. Lanzamos los siguientes comandos:

brew update
brew install redis

A continuación necesitas arrancar Redis en tu ordenador. Esto lo tendrás que hacer la primera vez que lo uses y cada vez que reinicies la máquina. Si has instalado redis con Homebrew, para arrancarlo usa el comando:

brew services start redis

Luego tendrás que seguir los pasos de configuración de Redis de la documentación de Laravel.

Uso de Valet en Mac

Ahora se trata de aprender a usar Valet, lo que es bastante sencillo. Básicamente se trata de crear los dominios que sean necesarios, uno para cada proyecto generalmente.

Para ello tendrías dos opciones:

Como nota personal, yo prefiero usar "valet link" para cada aplicación o carpeta unitaria que voy necesitando servir con Valet.

Es tan sencillo como meterse en la aplicación:

cd mi_aplicacion

Luego lanzar el comando:

valet link

Y acceder al dominio http://mi_aplicacion.test para ver lo que hay en esa carpeta concreta.

El comando "valet park" puede resultar de utilidad para servir muchas aplicaciones que tengas juntas en subdirectorios de una misma carpeta, pero generalmente no tengo todos los sitios web en la misma carpeta raíz, sino que me organizo por proyectos.

Operativas con Valet y gestión de proyectos

Para ver todos los sitios que tienes linkados a Valet puedes ejecutar:

valet links

Para eliminar un proyecto de Valet y dejar de servirlo en un dominio dado, te metes en la carpeta de ese proyecto y ejecutas el comando "valet unlink".

cd mi_proyecto
valet unlink

Exponer públicamente un desarrollo local

Si quieres compartir hacia fuera (por ejemplo para que un cliente pueda ver el estado de un proyecto que tienes en local) puedes lanzar el comando "valet share".

Si no has usado nunca Ngrok necesitarás configurarlo. Te explicamos cómo hacerlo un poco más abajo.

cd mi_proyecto
valet share

Este mismo comando te mostrará la ruta que tienes que comartir con tu cliente, el cual accederá usando un túnel ssh seguro y temporal. Tendrás que mantener el comando activo por el tiempo que desees que esté abierto ese túnel ssh.

Salida de ngrok con las url de acceso al servicio

Cómo configurar Ngrok para crear el túnel SSH

El sistema que nos ofrece Ngrok requiere desde hace poco un token para la configuración del servicio. Ese token lo obtienes de la página de ngrok. Para ello te tienes que registrar en su página y tendrás un dashboard donde encontrarás el token en la sección "Your Authtoken".

Posteriormente ese token lo debes de guardar en un archivo con la ruta ~/.ngrok2/ngrok.yml

Y con el contenido siguiente:

authtoken: ____AQUI_TU_TOKEN____

Servir los proyectos con HTTPS

Aún te permite servir un dominio con su certificado de seguridad, para tener https en tu servidor de desarrollo local.

valet secure laravel

Parar Valet si no lo necesitas

Valet nos ha instalado y puesto en marcha un servidor web como es Nginx, por lo que el puerto 80 lo tendrás ocupado en un Mac. Si lo necesitas liberar para cualquier motivo, como poner en marcha otro servidor, puedes hacerlo con el siguiente comando:

valet stop

Esto liberará el puerto 80, pero recuerda que la instalación del sistema gestor de base de datos, como MySQL / MariaDB la has realizado de manera independiente, por lo que detener MySQL lo tendrás que hacer también de manera independiente.

Puedes detener MySQL o MaríaDB en MacOS con el siguiente comando:

mysql.server stop

Cómo cambiar la configuración de PHP instalado por Valet

Cuando trabajas con Laravel Valet tienes una configuración de PHP bastante estándar, es decir, con unos valores muy comunes. Pero si necesitas personalizar el funcionamiento de PHP debes saber dónde están los archivos de configuración cuyos valores debes de editar.

La principal dificultad es que los valores de configuración, al menos en la instalación actual de Valet, están repartidos en varios archivos, por lo que a veces no se trata simplemente de editar el php.ini de turno, porque esos valores pueden estar sobreescritos en otros archivos.

Lo mejor es que crees un archivo PHP con la llamada a la función phpinfo(), para ver cuál es la configuración actual de tu instalación de PHP, puesto que estas configuraciones pueden cambiar con el tiempo.

El código del archivo para mostrar la configuración de PHP sería el siguiente:

<?php
phpinfo();
?>

Luego ejecutas ese archivo y verás el típico listado de información. Encontrarás el lugar donde aparecen los archivos de configuración usados en esta instalación de PHP en el bloque representado en la siguiente imagen:

bloque del phpinfo donde aparecen los archivos de configuración de PHP cargados por Laravel Valet

Ten en cuenta que los archivos del php.ini se sobreescriben por los que se carguen después, que están señalados en "Additional .ini files parsed".

Recuerda siempre que hagas cambios en la configuración de PHP que debes reiniciar Valet, con el siguiente comando en la consola.

valet restart

Conclusión

Con todo esto tienes suficiente para sacarle todo el partido a Valet, una herramienta excelente no solo para desarrollar con Laravel, sino con cualquier herramienta, como Symfony, WordPress, o cualquier sitio estático. Es muy ligera y fácil de usar.

Hemos visto en este artículo toda la información necesaria para instalar, usar y configurar Valet, pero supuesto, encontrarás más información en la documentación de Laravel Valet.

Si tienes Mac, Valet es una buena opción. Si quieres algo mejor todavía, entonces Homestead es estupendo, ya que permite virtualizar un Linux y acercarse más aún al entorno que vas a tener en producción.

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual