Jeśli pracujesz nad stroną lub aplikacją internetową, to często będziesz musiał uruchomić ją na publicznym serwerze. Możesz chcieć szybko pokazać komuś stronę lub po prostu część aplikacji nie będzie działać na serwerze lokalnym (bo komunikuje się z inną aplikacją, która wymaga publicznego URL). Co możesz w tym przypadku zrobić?

Mógłbyś kupić serwer i wrzucić tam wszystkie pliki przez FTP, ale to zazwyczaj zabiera sporo czasu. Tym bardziej, jeśli chcesz tylko coś przetestować i pliki za chwilę usuniesz. Dużo tutaj niepotrzebnej pracy.

Z pomocą przychodzi nam ngrok. Ngrok to bardzo proste narzędzie, które pozwala w kilka sekund uzyskać publiczny URL dla serwera lokalnego.

ngrok

Zacznijmy od pobrania ngrok. Przejdź na stronę pobierania i wybierz odpowiednią wersję dla swojego systemu operacyjnego. Jeśli korzystasz z Windowsa, to wypakuj pobrane archiwum. Znajdziesz w nim tylko jeden plik – ngrok.exe. Zanim przejdziemy do jego uruchomienia, stwórzmy testowy plik index.php:

<?php
  echo "test";
?>

Umieść go na swoim serwerze lokalnym w folderze test. Uruchom teraz wcześniej wypakowany plik ngrok.exe. W konsoli wpisz:

ngrok http 80

80 to port, na którym działa localhost. Jeśli korzystasz z innego (np. 8080), to koniecznie go podmień. W tym miejscu XAMPP, możesz podejrzeć port:

xampp port

Po wpisaniu komendy w konsoli naciśnij ENTER. Po udanym starcie serwera zobaczysz podobne okno:

ngrok start

Od teraz serwer lokalny jest dostępny pod adresem http://403fb6d4.ngrok.io (w Twoim przypadku będzie się różnił, przepisz z konsoli). W przeglądarce możesz teraz wpisać adres http://403fb6d4.ngrok.io/test i jeśli stworzyłeś wcześniej plik testowy, to zobaczysz słowo „test”.

Możesz zauważyć, że wygenerowany URL jest tak naprawdę zamiennikiem localhost. Dzięki temu możesz uruchamiać na publicznym serwerze dowolne aplikacji z serwera lokalnego.

Aktywność użytkowników na serwerze możesz podejrzeć w konsoli ngrok:

ngrok aktywność

Po zakończonych testach możesz w konsoli użyć skrótu Ctrl+C by wyłączyć serwer.