Con Homestead, es posible generar un url público para acceder a tus proyectos locales desde la web. Para ello se hace uso de ngrok, una aplicacion que permite generar un tunel hacia tu servidor local.
Para instalar Homestead puedes seguir los tutoriales de la seccion Vagrant y Homestead.
Para compartir un sitio local debes ingresar a la maquina virtual de Homestead por SSH con homestead ssh
.
En caso de que no tengas configurado homestead
de forma global, debes ingresar al directorio dónde está instalado Homestead y ejecutar vagrant ssh
Finalmente solo debes ejecutar share laravel.dev
y esto va a crear un URL público hacia tu proyecto. Para confirmar que esto funciona deberias ser capaz de ver algo como esto en la terminal:
ngrok by @inconshreveable (Ctrl+C to quit) Session Status online Version 2.2.8 Region United States (us) Web Interface http://127.0.0.1:4040 Forwarding http://5ffaa0bf.ngrok.io -> localhost:80 Forwarding https://5ffaa0bf.ngrok.io -> localhost:80 Connections ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00
Recuerda sustituir laravel.dev
por el dominio que estés usando para tu proyecto en el archivo Homestead.yaml
.
--- ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: ~/Code to: /home/vagrant/Code sites: - map: laravel.dev to: /home/vagrant/Code/laravel-tests/public
El alias share
esta definido dentro del archivo Homestead/resources/aliases
y no es más que un acceso directo que hace uso de ngrok
, aplicación que viene previamente instalada con Homestead. Para verificar que tu versión de Homestead cuente con ngrok puedes ejecutar ngrok -v
desde tu máquina virtual
$ ngrok -v ngrok version 2.2.8
Si no esta instalado puedes seguir los pasos de la documentacion oficial en https://ngrok.com/download.
Posteriormente puedes crear manualmente el alias en Homestead/resources/aliases
function share() { if [[ "$1" ]] then ngrok http ${@:2} -host-header="$1" 80 else echo "Error: missing required parameters." echo "Usage: " echo " share domain" echo "Invocation with extra params passed directly to ngrok" echo " share domain -region=eu -subdomain=test1234" fi }
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.