Laravel Valet es una nuevo recurso dentro del ecosistema de Laravel que en este caso, apunta a facilitarnos el tener un entorno de desarrollo en OSX sin tener que lidiar con MAMP’s, Virtual Hosts, Homestead u otras configuraciones varias (es importante resaltar que Valet sólo funciona en MAC).
Laravel Valet es un servicio basado en el servidor Caddy que se ejecuta en segundo plano en nuestra máquina.
Instalación de Laravel Valet
Para instalar Valet, lo haremos a nivel global en nuestro sistema, y se basa, como muchas de las herramientas de Laravel, en composer, así que primero debemos tener bien configurado composer en nuestro sistema.
A parte de composer, Valet se basa en otras herramientas/servicios que debemos tener instalados en nuestro sistema. Estas herramientas se pueden instalar fácilmente via Homebrew, que es un gestor de aplicaciones en OSX. Podemos instalar homebrew siguiendo las indicaciones de su web, pero básicamente hay que ejecutar el comando que aparece en su página en la Terminal de OSX.
Después de tener instalado Homebrew, podemos instalar PHP, esto se hace ejecutando el siguiente comando de brew:
1 |
brew install homebrew/php/php70 |
Esto nos instalará PHP7 en nuestro sistema y será la base para que Valet funcione. Esta instalación de PHP7 es básica y no incluye las extensiones, si necesitamos instalar algunas extensiones extra, podemos hacer una búsqueda en brew e instalar las que necesitemos.
1 |
brew search php7 |
Cómo añadido también podemos instalar Mysql o en nuestro caso instalaremos MariaDB.
1 |
brew install mariadb |
Con este último comando se nos ha instalado MariaDB en local y con el usuario root y la contraseña en blanco. Ahora ya podemos abrir nuestro gestor de BBDD del que ya hablamos en el post de Herramientas de desarrollo.
Ahora que ya tenemos instalado los requisitos básico, podemos proceder a instalar Laravel Valet.
1 |
composer global require laravel/valet |
(Como hemos comentado antes debemos tener añadido en nuestro PATH la ruta a la carpeta bin de composer ~/.composer/vendor/bin)
Una vez descargado Valet podemos ejecutar el comando para instalar el servicio en nuestro sistema:
1 |
valet install |
Este comando instala el servicio web de laravel, DnsMasq para la gestión de dominios e instala el servicio Valet.
Configuración de Laravel Valet
Laravel Valet se puede configurar para servir un proyecto individual (link) o establecer una carpeta como contenedora de proyectos (park), ahora veremos en qué repercute cada uno de los casos.
Configurar una carpeta
Podemos establecer una carpeta como contenedora de proyectos, por ejemplo tenemos una carpeta Code en la que tenemos creada una carpeta para cada uno de nuestros proyectos PHP.
Si establecemos esta carpeta como tipo Park, podemos acceder a cada uno de los proyectos desde el navegador accediendo al mismo nombre de la carpeta seguida de la extensión .dev.
Por ejemplo tenemos esta estructura con nuestro proyecto
1 |
~/Code/proyecto-awesome |
Ahora indicamos a Valet que la carpeta Code es de tipo Park, para esto entramos dentro de la carpeta Code y ejecutamos el comando:
1 |
valet park |
A partir de ahora si abrimos el navegador y entramos a la url http://proyecto-awesome.dev
nos cargará nuestra aplicación.
Si tenemos más carpetas dentro de Code, también podremos acceder con la url http://(nombre-carpeta).dev.
Si queremos eliminar la carpeta Code de valet, podemos hacerlo con el comando:
1 |
valet forget |
Configurar un proyecto
Ya hemos visto como establecer un carpeta completa como contenedora de proyectos, pero si tenemos un proyecto fuera de esta carpeta, o queremos gestionar los proyectos individualmente, también podemos hacerlo.
En este caso lo que hacemos es enlazar el proyecto. Para hacer esto, entramos en la carpeta del proyecto y ejecutamos:
1 |
valet link |
Aquí nos creará un enlace a esta carpeta y el efecto será el mismo que con las carpetas park, podemos acceder a la url http://(nombre-carpeta).dev y nos cargará nuestro proyecto.
En este caso también podemos cambiar la url que se utiliza, para esto tenemos que pasar como parámetro, la url que queremos utilizar (sin http ni .dev)
1 |
valet link mi-proyecto |
Si queremos eliminar el link a la carpeta del proyecto sólo tenemos que ejecutar el siguiente comando desde la carpeta de nuestro proyecto.
1 |
valet unlink mi-proyecto |
También podemos ver todos los links que tenemos establecidos en valet con el comando:
1 |
valet links |
Compartir un proyecto al público
Uno de los beneficios que nos aporta Valet es cuando queremos enseñar el proyecto en otro PC o dispositivo.
Laravel Valet trae integración con el servicio ngrok, el cual proporciona un túnel seguro entre nuestro servidor web local e internet, a través de una URL generada.
Para compartir un proyecto, entramos en la carpeta del proyecto y ejecutamos:
1 |
valet share |
Esto creará un túnel con nuestro servidor local y nos dará una url del tipo http://(XXX).ngrok.io
que cargará nuestro proyecto. Esta url será válida mientras esté abierta la ventana de ngrok, si queremos dejar de compartir, en esta pantalla hacemos Ctrl+c para salir de ngrok.
Hay que tener en cuenta que cada vez que hacemos valet share
se generará una url nueva, así que la anterior dejará de estar disponible.
Conclusión
Como hemos visto Laravel Valet es otra herramienta fantástica para nuestros MACOSx ya que con muy poco esfuerzo disponemos de todo un entorno de desarrollo en PHP7 y no tenemos que estar peleándonos con maquinas virtuales, Apache ni Nginx.
Si quieres estar al día de las publicaciones del blog puedes suscribirte a nuestra newsletter.
Deja un comentario