Homestead & Ngrok

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.