Udostępnianie swojej strony światu

Coraz częściej na forum php pojawiają się pytania o port forwarding i sposób na wypuszczenie swojej strony na świat.

Chcę w tym wpisie pokrótce pokazać w jaki sposób to zrobić.

Nie są nam do tego potrzebne żadne specjalistyczne narzędzia. Jedyne co potrzebujemy to:

  • XAMPP lub LAMPP (odpowiednio skonfigurowany pod względem bezpieczeństwa – tego nie będę opisywał, bo nie taki jest temat tego wpisu)
  • Zewnętrzny numer IP – bez tego nie ruszymy (jedyny mi znany sposób na obejście tego to użycie programu Hamachi, ale wtedy 2 strony muszą posiadać taki program, co w pewien sposób mija się z celem, jeśli ktoś zna inny, to z chęcią go poznam :) )
  • Odblokowany port/porty w firewall’u
  • Jeśli mamy router (a pewno mamy), to należy w nim wykonać przekierowanie portów (port forwarding)

Bierzemy się do roboty. Pierwsze co musimy zrobić to zalogować się na nasz router. Po zalogowaniu się na niego musimy znaleźć opcję odpowiadającą za przekierowanie portów (port forwarding). Każdy router ma to w innym miejscu, więc nie podam uniwersalnej instrukcji na to. W moim z UPC znajduje się to w Advanced -> Forwarding.

1.png

Jak widać znajduje się tutaj kilka pół do wypełnienia. Zanim je wypełnimy musimy poznać numer IP naszego komputera w sieci lokalnej.

Klikamy więc na Start -> Uruchom i wpisujemy CMD. W konsoli wpisujemy polecenie ipconfig.

Teraz musimy wpis, który opisuje połączenie komputera z internetem. Albo to będzie karta sieci przewodowej albo bezprzewodowej.

W moim przypadku jest to połączenie Ethernet (kabelek). Jak widać na obrazku:

2.png

moje IP w sieci lokalnej to to zaznaczone w zielonej ramce. Teraz ten adres, a raczej jego końcówkę przepiszemy do Forwardingu w routerze. Następnie wybieramy jaki zakres portów ma być przekierowywany z zewnątrz do naszego komputera. Ja wpisałem od portu 80 do 100, ale dla XAMPPa wystarczy od 80 do 80. Zaznaczmy checkbox’a, że przekierowanie jest włączone i klikamy apply.

3.png

Teraz należy w firewallu udostępnić te porty. Niestety ze względu na to, że każdy ma inny system lub firewall nie pokaże uniwersalnej instrukcji na wykonanie tego. Jeśli ma to być tylko chwilowe działanie można firewalla wyłączyć.

Na koniec odpalamy XAMMPa.

Pozostał ostatni szczegół. Zewnętrzny numer IP. Aby go uzyskać wystarczy, że wejdziemy na stronę: What is an IP address i tam największą czcionką będzie nasz zewnętrzny adres pokazany (IP Information).

Teraz ten adres wystarczy komuś podać (najlepiej w formie: http://XX.XXX.XXX.XX:YY , gdzie XX to numer IP, a YY to numer portu np: http://83.125.156.23:80) i jeśli wszystko zostało wykonane poprawnie (dodane i zapisane przekierowanie portów, odblokowanie w firewallu portów), to strona u naszego znajomego powinna pokazać się na ekranie przeglądarki :)

Mam nadzieję, że choć troszeczkę ułatwiłem sprawę pokazania światu naszej strony internetowej lub jakiegoś skryptu.

Należy jednak pamiętać, że jeśli nie mamy zbyt dużej wiedzy na temat serwerów i ich zabezpieczeń nie należy uznawać swojego komputera za super miejsce do hostingu. Z kilku przyczyn:

  • wydatki na prąd – na pewno wyjdą większe niż nawet w najtańszych hostingach
  • zabezpieczenie – kiedy nasz skrypt będzie dziurawy, osoba niepowołana może przejąć kontrolę nad naszym komputerem
  • time up – czas działania serwera, hosting dostarcza praktycznie cały czas stronę dla publiczności, w domu wystarczy wyłączyć komputer i strona znika
  • zmienne IP (tyczy się Neostrady) – po restarcie routera czy modemu zostanie nadane nowe IP, przez co trzeba na komputrze-serwerze pobrać nowe, zewnętrzne IP i podać je osobom chcącym oglądać naszą stronę