Last active
April 20, 2017 09:42
-
-
Save asvae/64007501c6da91d2abac to your computer and use it in GitHub Desktop.
Ngrok на среде homestead своими руками
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Что такое [Ngrok](https://ngrok.com/)? Не спешите лететь по ссылке. Я сейчас расскажу. | |
Это своеобразный туннель к локалхосту. Допустим, у вас есть локальный проект, к которому вы обращаетесь следующим образом `http://my-project.local`. Ngrok позволяет другим человекам из интернета открыть ту же страницу, забив адрес `http://my-project.ngrok.com`. | |
Первый и главный вопрос: | |
Нафига оно нужно? | |
=========== | |
1) Очень легко и просто показать заказчику полуфабрикат/прототип, и даже поправить что-нибудь на ходу. | |
2) Полезно для совместной разработки. | |
3) Можно хостить что-нибудь мелкое (извращение). | |
Понятно, что можно использовать тестовый сервер, но это лишняя морока. Ngrok — легковесное решение. | |
Как? | |
=========== | |
Инструкцию привожу для среды homestead под windows. На других системах настройка также трудностей представить не должна. | |
Первым делом зарегистрируйтесь на [сайте](https://dashboard.ngrok.com/user/signup) и раздобудьте `authtoken`. | |
Теперь зайдем в `Homestead.yaml`: | |
``` | |
sites: | |
- map: my-project.local | |
to: /home/vagrant/my-project/public | |
- map: my-project.ngrok.local | |
to: /home/vagrant/my-project/public | |
``` | |
Фактически, мы маппим одну и ту же папку на два разных хоста. Прикол здесь в том, что только `my-project.local` указан в hosts. Как следствие, `my-project.local` браузер будет искать локально, а за `my-project.ngrok.local` полезет в сеть. | |
Теперь нужно поставить ngrok на homestead. Можно это сделать консольно, но там немного старая версия. | |
``` | |
sudo apt-get install ngrok-client | |
``` | |
С другой стороны, можно скачать архив, как советует [инструкция по установке](https://ngrok.com/download). | |
Успешно поставив сабж и написав в консоли `ngrok -authtoken [authtoken] -subdomain my-project 80`, вы должны увидеть примерно следующий текст: | |
``` | |
Tunnel Status online | |
Version 1.6/1.7 | |
... | |
``` | |
Ваш сайт будет доступен онлайн по адресу `my-project.ngrok.com`. Но каждый раз писать такую здоровую команду муторно. Сделаем алиас. | |
Открываем файлик homestead/aliases, дописываем туда: | |
``` | |
function ngroka() { | |
if [[ "$1" ]] | |
then | |
ngrok -authtoken HnPv9qCUyqbSdFiIb1mC -subdomain $1 80 | |
else | |
echo "Error: missing required parameter." | |
echo "Usage: ngrok subdomain." | |
fi | |
} | |
``` | |
Заключение | |
============ | |
Вот и все. `ngroka my-project` в консоли — и ваш проект доступен заказчику/коллеге/тентаклю из соседней галактики. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Что такое Ngrok? Не спешите лететь по ссылке. Я сейчас расскажу.
Это своеобразный туннель к локалхосту. Допустим, у вас есть локальный проект, к которому вы обращаетесь следующим образом
http://my-project.local
. Ngrok позволяет другим человекам из интернета открыть ту же страницу, забив адресhttp://my-project.ngrok.com
.Первый и главный вопрос:
Нафига оно нужно?
Понятно, что можно использовать тестовый сервер, но это лишняя морока. Ngrok — легковесное решение.
Как
Инструкцию привожу для среды homestead под windows. На других системах настройка также трудностей представить не должна.
Первым делом зарегистрируйтесь на сайте и раздобудьте
authtoken
.Теперь зайдем в
Homestead.yaml
:Фактически, мы маппим одну и ту же папку на два разных хоста. Прикол здесь в том, что только
my-project.local
указан в hosts. Как следствие,my-project.local
браузер будет искать локально, а заmy-project.ngrok.local
полезет в сеть.Теперь нужно поставить ngrok на homestead. Можно это сделать консольно, но там немного старая версия.
С другой стороны, можно скачать архив, как советует инструкция по установке.
Успешно поставив сабж и написав в консоли
ngrok -authtoken [authtoken] -subdomain my-project 80
, вы должны увидеть примерно следующий текст:Ваш сайт будет доступен онлайн по адресу
my-project.ngrok.com
. Но каждый раз писать такую здоровую команду муторно. Сделаем алиас.Открываем файлик homestead/aliases, дописываем туда:
Заключение
Вот и все.
ngroka my-project
в консоли — и ваш проект доступен заказчику/коллеге/тентаклю из соседней галактики.