Jak umożliwić użytkownikom sieci lokalnej dostęp do moich witryn WAMP?

119

Przede wszystkim przeczytałem co najmniej 20 artykułów na ten temat i żaden z nich nie pasuje do scenariusza i wielokrotnie schrzaniłem ten proces. Dlatego zwracam się o pomoc, oferując mój konkretny scenariusz, jeśli jakakolwiek pomoc zostanie doceniona.

Laptopy lub inne urządzenia są połączone przez router bezprzewodowy.

Próbowałem:

  • Włącz Port 80 na zaporze. nic się nie stało.
  • Run ping, ipconfigi starał adres IPv4 tam, odmawia dostępu lub przynieść mi mój Verizon (ISP), Router strona config.
  • Wypróbowałem konfigurację Apache, był bałagan, nigdy nie otrzymałem całej konfiguracji autoryzacji w wielu postach i wypróbowałem jedną z obiecujących, która spowodowała awarię mojego WAMPa, musiałem przejść przez wszystkie problemy i ponownie zainstalować.

To, co naprawdę próbowałem osiągnąć, to po prostu pozwolić wszystkim użytkownikom łączyć się z tym routerem bezprzewodowym na dostęp do moich witryn WAMP hostowanych przez Win8.

Zastanawiam się, czy są jakieś konkretne kroki, przez które mogę przejść, aby to naprawdę zadziałało?

WAMP 2.4 na Win8.1. Lokalne witryny hostujące komputery przenośne.

Ezeewei
źródło

Odpowiedzi:

250

Zobacz koniec tego postu, aby dowiedzieć się, jak to zrobić w WAMPServer 3

Dla WampServer 2.5 i wcześniejszych wersji

WAMPServer został zaprojektowany jako jednoosobowe narzędzie programistyczne. Dlatego Apache jest domyślnie skonfigurowany tak, aby zezwalał na dostęp tylko z komputera, na którym działa serwer, tj. Localhost lub 127.0.0.1 lub :: 1

Ale ponieważ jest to pełna wersja Apache, wszystko, czego potrzebujesz, to odrobina wiedzy na temat używanego serwera.

Prostym sposobem (młotkiem do złamania nakrętki) jest użycie opcji menu wampmanagera „Put Online”.

left click wampmanager icon -> Put Online

To jednak mówi Apache, że może akceptować połączenia z dowolnego adresu IP we wszechświecie . Nie stanowi to problemu, o ile nie przekierowałeś portu 80 na routerze lub nigdy nie spróbujesz tego w przyszłości.

Bardziej sensownym sposobem jest edycja pliku httpd.conf (ponownie przy użyciu menu wampmanager) i ręczna zmiana zabezpieczeń dostępu do Apache.

left click wampmanager icon -> Apache -> httpd.conf

Spowoduje to uruchomienie pliku httpd.conf w notatniku.

Poszukaj tej sekcji tego pliku

<Directory "d:/wamp/www">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost
</Directory>

Teraz zakładając, że podsieć sieci lokalnej używa zakresu adresów 192.168.0.?

Dodaj tę linię po Allow from localhost

Allow from 192.168.0

To powie Apache, że można uzyskać do niego dostęp z dowolnego adresu IP w tej podsieci. Oczywiście będziesz musiał sprawdzić, czy router jest ustawiony na korzystanie z zakresu 192.168.0.

Robi się to po prostu wpisując to polecenie w oknie poleceń ipconfigi patrząc na linię z etykietą IPv4 Address., a następnie używając pierwszych 3 sekcji adresu, który tam widzisz.

Na przykład, jeśli twój wyglądał tak: -

IPv4 Address. . . . . . . . . . . : 192.168.2.11

Użyłbyś

Allow from 192.168.2

UPDATE dla użytkowników Apache 2.4

Oczywiście, jeśli używasz Apache 2.4, składnia uległa zmianie.

Powinieneś zastąpić CAŁĄ tę sekcję:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost

Dzięki temu przy użyciu nowej składni Apache 2.4

Require local
Require ip 192.168.0

Nie powinieneś po prostu dodawać tego do httpd.conftego, musi być zamiennikiem.

Dla WAMPServer 3 i nowszych

W WAMPServer 3 domyślnie zdefiniowany jest wirtualny host. Dlatego powyższe sugestie nie działają. Nie musisz już wprowadzać ŻADNYCH poprawek do httpd.confpliku. Powinieneś zostawić go dokładnie tak, jak go zastałeś.

Zamiast tego opuść serwer, OFFLINEponieważ ta funkcja nie działa i już nie działa, dlatego Online/Offlinemenu stało się opcjonalne i domyślnie wyłączone.

Teraz powinieneś edytować \wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.confplik. W WAMPServer3.0.6 i nowszych faktycznie znajduje się menu, które otworzy ten plik w twoim edytorze

left click wampmanager -> Apache -> httpd-vhost.conf

tak jak ten, który zawsze istniał i edytuje twój httpd.confplik.

Powinien wyglądać tak, jeśli nie dodałeś żadnego z własnych wirtualnych hostów

#
# Virtual Hosts
#

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot c:/wamp/www
    <Directory  "c:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

Teraz po prostu zmień Requireparametr, aby odpowiadał Twoim potrzebom, np

Jeśli chcesz, aby umożliwić dostęp z dowolnego zastąpić Require localz

Require all granted

Jeśli chcesz być bardziej szczegółowy i bezpieczny i zezwalać na adresy IP tylko w Twojej podsieci, dodaj takie prawa dostępu, aby zezwolić na dowolny komputer w Twojej podsieci

Require local
Require ip 192.168.1

Albo mówiąc dokładniej

Require local
Require ip 192.168.1.100
Require ip 192.168.1.101
RiggsFolly
źródło
1
Jeden problem. Mam różne lokalne witryny (np. 192.168.1.1/mysite1), ale kiedy próbowałem na telefonie uzyskać dostęp do tej witryny, z jakiegoś powodu wydaje się, że jest ona niekompletna. To witryna Wordpress. Czy znałbyś powód, dla którego tak się stało?
Ezeewei
1
Och, znalazłem problem, ponieważ w DB te linki są oparte na localhost! teraz wszystko działa idealnie: D
Ezeewei,
Jak więc umożliwić WSZYSTKIM użytkownikom w sieci dostęp do urządzenia z uruchomionym serwerem WAMP? Jak mogę wpisać adres IP w tej konfiguracji? Używam DHCP.
Mai
Jeśli masz na myśli dowolny adres IP w swojej podsieci, to tak jak powiedziałem w powyższym pytaniu, użyj pierwszych 3 kwartyli adresu IP
RiggsFolly
4
@RiggsFolly Zrobiłem to, ale nadal nie działa. 403 Zabronione.
gegobyte
66

Musisz zezwolić na proces Apache (httpd.exe) przez zaporę (zalecane).

Lub wyłącz zaporę sieciową w sieci LAN (tylko w celu przetestowania, niezalecane).

Przykład z Wampem (z aktywowanym Apache):

  1. Sprawdź, czy Wamp jest opublikowany lokalnie, jeśli tak, kontynuuj;
  2. Panel sterowania dostępem
  3. Kliknij „Firewall”
  4. Kliknij „Zezwalaj aplikacji przez zaporę sieciową”
  5. Kliknij „Zezwalaj niektórym aplikacjom”
  6. Znajdź i wybierz C: /wamp64/bin/apache2/bin/httpd.exe
  7. Zrestartuj Wampa

Teraz otwórz przeglądarkę na innym hoście sieci i uzyskaj dostęp do serwera Apache przez IP (np. 192.168.0.5). Możesz znaleźć adres IP lokalnego hosta, wpisując ipconfigw wierszu polecenia.

To działa

Matteus Barbosa
źródło
Upewnij się, że twój serwer Wamp jest uruchomiony i że masz już ustawiony jako dostępny za pomocą "Put Online"
Matteus Barbosa
Wyczyszczenie pamięci podręcznej przeglądarki może również rozwiązać niektóre problemy
Matteus Barbosa
3
Część Firewall pomogła mi w Windows 10. Dzięki!
Całkiem fajnie
Miałem już wyłączoną zaporę systemu Windows, więc nie sądziłem, że to zadziała - ale dodanie Apache jako wyjątku w rzeczywistości zadziałało dla mnie. Dzięki!
Paweł
@Pawel to nie ma sensu, ponieważ wyłączony firewall ignoruje tabele wyjątków i zezwala na wszystko. Upewnij się, że oprogramowanie antywirusowe jest wyłączone lub jego warstwa zapory jest również wyłączona, aby przeprowadzić czysty test.
Matteus Barbosa
13
go to... 
C:\wamp\alias

W folderze aliasów zobaczysz kilka plików, takich jak phpmyadmin, phpsysinfo itp.

otwórz każdy plik i możesz zobaczyć wewnątrz pliku niektóre skomentowane instrukcje dają dostęp z zewnątrz, na przykład, aby dać dostęp do phpmyadmin z zewnątrz zamień linie

Require local

by

Require all granted
Sai Ram
źródło
4

To, co w końcu zadziałało, to to, co znalazłem tutaj:

http://www.codeproject.com/Tips/395286/How-to-Access-WAMP-Server-in-LAN-or-WAN

Podsumowując:

  • ustaw Słuchaj w httpd.conf:

    Listen 192.168.1.154:8081

  • Dodaj Zezwalaj od wszystkich do tej sekcji:

    <Directory "cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>

  • Ustaw regułę portu przychodzącego. Myślę, że była to dla mnie kluczowa brakująca część:

Wspaniały! Następnym krokiem jest otwarcie portu (8081) serwera, aby każdy mógł uzyskać dostęp do Twojego serwera. Zależy to od używanego systemu operacyjnego. Podobnie jak w przypadku korzystania z systemu Windows Vista, wykonaj poniższe czynności.

Otwórz Panel sterowania >> System i zabezpieczenia >> Zapora systemu Windows, a następnie kliknij „Ustawienia zaawansowane”, a następnie wybierz „Reguły przychodzące” z lewego panelu, a następnie kliknij „Dodaj regułę…”. Wybierz „PORT” jako opcję z listy, a następnie na następnym ekranie wybierz protokół „TCP” i wprowadź numer portu „8081” pod „Określony port lokalny”, a następnie kliknij przycisk „Dalej” i wybierz „Zezwalaj na połączenie” i następnie podaj ogólną nazwę i opis tego portu i kliknij Gotowe.

Teraz również zakończysz otwieranie PORT.

Dalej jest „Uruchom ponownie wszystkie usługi” WAMP i uzyskaj dostęp do urządzenia w sieci LAN lub WAN.

CodyBugstein
źródło
192.168.1.154 oznacza?
Charlesliam
1
@Charlesliam adres IP innej maszyny
CodyBugstein
1

Ponieważ właśnie przez to przeszedłem - chciałem podać swoje rozwiązanie, mimo że jest trochę stare.

Mam kilka komputerów na routerze domowym i pracuję nad kilkoma projektami dla siebie. Cóż, chciałem zobaczyć, jak to wygląda na moich urządzeniach mobilnych. Ale WAMP został ustawiony tak, że mogłem przejść tylko z systemu rozwoju. Zacząłem się więc rozglądać i znalazłem ten artykuł, a także kilka innych. Problem w tym, że żaden z nich nie działał dla mnie. Więc musiałem sam to rozwiązać.

Moje rozwiązanie:

Najpierw w pliku HTTPD.CONF należy dodać jedną linię na końcu listy urządzeń, które mają dostęp do serwera WAMP. Więc zamiast:

#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost

Zrób to:

#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost
     Allow from 192.168.78

Powyższe mówi, że każde urządzenie, które znajduje się na routerze („78” to po prostu przypadkowa liczba wybrana dla tego rozwiązania. Powinna to być dowolna konfiguracja routera. Może to być 192.168.1 lub 192.168.0 lub nawet 192.168.254 - musisz to sprawdzić na routerze.) Może teraz uzyskać dostęp do Twojego serwera.

Powyższe nic dla mnie nie dało - na początku. Musisz zrobić więcej. Ale najpierw - czego NIE musisz robić. NIE musisz zmieniać ustawienia WAMP z trybu offline na online. DLA MNIE - zmiana tego ustawienia nic nie da. Nie wiadomo dlaczego - po prostu nie. Więc zmień to, jeśli chcesz - ale nie sądzę, że trzeba to zmieniać.

Więc co jeszcze MUSI zostać zmienione? Aby dokonać tej następnej zmiany, musisz cofnąć się do początku pliku httpd.conf i jest to naprawdę proste. Musisz dodać nową linię po

Listen Localhost:80

Dodaj

Listen 192.168.78.###:80

Gdzie „###” to adres IP Twojego serwera. Powiedzmy, że twój serwer ma numer IP 234. Wtedy powyższe polecenie stanie się

Listen localhost:80
Listen 192.168.78.234:80

Ponownie - „78” to po prostu przypadkowa liczba, którą wybrałem. Aby uzyskać swój prawdziwy numer IP, musisz otworzyć okno poleceń i wpisać

ipconfig/all

Komenda. Sprawdź, jaki jest twój numer TCP / IPv4 i ustaw go na ten numer lub TCP / IPv6, jeśli to wszystko, co masz (chociaż w ustawieniach routera wewnętrznego zwykle masz numer IPv4).

Uwaga : Jeśli nie wiesz, jak wywołać okno poleceń - kliknij Start, wybierz opcję „Uruchom” i wpisz „cmd.exe” w oknie dialogowym bez cudzysłowów. W nowszych systemach (ponieważ ciągle zmieniają wszystko) może to być biała ikona okna, kółko lub Bill Gates skaczący w górę iw dół. Cokolwiek to jest - kliknij na to.

Po wykonaniu powyższego - uruchom ponownie wszystkie usługi i wszystko powinno pójść dobrze.

Wreszcie - dlaczego? Dlaczego musisz zmienić polecenie Listen? Ma to związek z localhost. Domyślnie „localhost” jest ustawiony na 127.0.0.1, a NIE Twój adres IP. Można go znaleźć w pliku hosta, który zwykle znajduje się w folderze system32 w systemie Windows, ale prawdopodobnie został przeniesiony przez firmę Microsoft do innego miejsca. Wyszukaj w Internecie, gdzie to jest, i spójrz na to. Jeśli widzisz dużo stron z seksem, pornografią itp. W pliku hosta lokalnego - musisz się ich pozbyć (chyba że to twoja sprawa). Sugeruję, aby RogueKiller (w AdLice.com) był używany do przyjrzenia się systemowi, ponieważ może on zresetować plik hosta.

Jeśli jednak twój plik hosta jest normalny - powinien zawierać tylko jeden wpis, a ten wpis ma ustawić localhost na 127.0.0.1. Dlatego użycie localhost w pliku httpd.conf sprawia, że ​​możesz pracować tylko nad wszystkim i widzieć wszystko z komputera serwera.

Więc jeśli czujesz się na siłach - zmień plik hosta i zostaw polecenie Listen w spokoju LUB po prostu zmień polecenie Listen, aby nasłuchiwać portu 80 na serwerze.

NOWOŚĆ (zapomniałem wstawić w tej części)

MOŻESZ zmienić swój adres TCP / IP. (Mój jest już skonfigurowany, więc nie musiałem tego robić). Będziesz musiał poszukać swojego systemu operacyjnego, jak dostać się do miejsca, w którym zdefiniowany jest twój adres TCP / IP. W systemie Windows XP był to Panel sterowania-> Połączenia sieciowe. Zmieniło się to w późniejszych systemach operacyjnych, więc musisz sprawdzić, jak się tam dostać. W każdym razie, gdy tam zobaczysz połączenie sieci bezprzewodowej lub połączenie lokalne (Windows). Zasadniczo kabel WIFI lub Ethernet. Wybierz ten, który jest aktywny i używany. W systemie Windows kliknij prawym przyciskiem myszy i wybierz opcję Właściwości. Powinno pojawić się okno dialogowe i powinieneś zobaczyć listę pól wyboru z informacją, jakie są z boku. Poszukaj tego, który jest przeznaczony dla protokołu TCP / IP. Powinien być taki, który mówi, że TCP / IP v4. Wybierz to. (Jeśli nie ma takiego - należy postępować ostrożnie). Kliknij przycisk Właściwości, aby wyświetlić kolejne okno dialogowe. Ten pokazuje wybraną opcję „Uzyskaj adres IP automatycznie” lub „Użyj następującego adresu IP”. Jeśli jest to pierwsza, musisz zmienić ją na drugą. ALE ZANIM TO ZROBISZ - wyświetl okno poleceń i wpisz polecenie ipcongfig / all, aby mieć przed sobą domyślną bramę. Następnie zmień go z „Uzyskaj…” na „Użyj…”. Tam, gdzie jest napisane „adres IP”, wpisz adres IP, którego chcesz zawsze używać. To jest adres IP, który wpisałeś w poleceniu Listen powyżej. Drugi wiersz (maska ​​podsieci) to zwykle 255.255.255.0, co oznacza, że ​​zmienia się tylko ostatnia liczba (tj .: 0). Następnie, patrząc wstecz na okno poleceń wstawione do domyślnej bramy. Wreszcie, po zmianie z „Uzyskaj ...” na „Użyj ...”, ustawienia DNS mogły ulec zmianie. Jeśli sekcja dotycząca ustawień DNS zmieniła się na „Użyj ...” i jest pusta - odpowiedź jest prosta. Po prostu spójrz na to ipconfig / all output, znajdź tam ustawienia DNS i umieść je w podanych polach. Po zakończeniu kliknij przycisk OK, a następnie kliknij drugi przycisk OK. Po zamknięciu okna może być konieczne ponowne uruchomienie systemu, aby zmiany zaczęły obowiązywać. Wypróbuj, przechodząc do Google lub Stack Overflow. Jeśli nadal możesz chodzić w różne miejsca - nie jest wymagane ponowne uruchamianie. W przeciwnym razie uruchom ponownie. Zapamiętaj! Jeśli nie możesz później połączyć się z Internetem, wszystko, co musisz zrobić, to wrócić i zresetować wszystko do opcji „Uzyskaj…”. Najbardziej prawdopodobnym powodem, dla którego po wprowadzeniu zmian nie można już łączyć się z Internetem, jest to, że wybrany adres TCP / IP jest już używany przez router. Powiedzenie „Może być tylko jeden” dotyczy również adresów TCP / IP. Dlatego zawsze wybieram wysoką liczbę setną lub niską liczbę dwustu. Ponieważ większość konfiguracji DHCP używa numerów mniejszych niż pięćdziesiąt. W ten sposób nie kolidujesz z czyimś numerem TCP / IP.

W ten sposób naprawiłem mój problem.

Mark Manning
źródło
W którym pliku to zrobiłeś?
CodyBugstein
W pliku httpd.conf Apache dla większości zmian oraz w pliku hosta, który znajduje się w katalogu Windows / System32 (w systemie XP). Wymagana jest aktualizacja do powyższego. W rzeczywistości możesz mieć wiele poleceń LISTEN w pliku httpd.conf. Tak więc możesz mieć: Listen localhost: 80 i Listen 192.168.78.234:80 Jeden po drugim.
Mark Manning
Postanowiłem zaktualizować moją odpowiedź na temat zmian TCP / IP.
Mark Manning
1

W WAMPServer 3 nie robisz tego w httpd.conf

Zamiast tego edytuj \wamp\bin\apache\apache{version}\conf\extra\httpd-vhost.confi wykonaj te same zmiany dla hosta wirtualnego zdefiniowanego dlalocalhost

WAMPServer 3 jest dostarczany ze wstępnie zdefiniowanym hostem wirtualnym localhost

Aaska Patel
źródło
0

Mam pewne doświadczenia z Wamp 3.0 i Apache 2.4.

Po wszystkich pracach wykonaj następujące kroki:

1- Wyłącz nod32.

2- Dodaj tę linię, aby <VirtualHost *:80>zablokować w httpd-vhosts.confpliku:

Require ip 192.168.100 #client ip, allow 192.168.100.### ip's access
ivahidmontazer
źródło
0

jeśli używasz systemu Windows i zrobisz wszystkie komentarze powyżej,

Możesz sprawdzić swoją sieć i centrum udostępniania.

Centrum sieci i udostępniania -> Zaawansowane ustawienia udostępniania -> Zmiana profilu domowego lub służbowego

Dzięki, dobra robota!

Ferhat KOÇER
źródło
-1

to proste i naprawdę mi się udało.

run you wamp server => click right mouse button => and click on "put online"

następnie otwórz cmd jako administrator i podaj to słowo polecenia

ipconfig => and press enter

wtedy pojawia się dużo adresów, to wystarczy wziąć pierwszy, wygląda to tak: Adresse IPv4. . . . . . . . . . . . . .: 192.168.67.190 dobrze! , to jest adres, którego użyjesz do cennecte do twojego serwera wampirów w lokalnym.

nassim
źródło
-2

Umieść swój serwer wamp w trybie onlinewprowadź opis obrazu tutaj

a następnie przejdź do panelu sterowania > system i zabezpieczenia > zapora systemu Windows i wyłącz zaporę systemu Windows

teraz możesz uzyskać dostęp do serwera wamp z innego komputera przez sieć lokalną za pomocą sieciowego adresu IP komputera z zainstalowanym serwerem wampa, np. http://192.168.2.34/mysite

Shahjahan
źródło