Wie kann ich lokalen Netzwerkbenutzern den Zugriff auf meine WAMP-Sites ermöglichen?

119

Zuallererst habe ich mindestens 20 Artikel zu diesem Thema gelesen, und keiner von ihnen kann mit dem Szenario übereinstimmen, und ich habe den Prozess mehrmals vermasselt. Ich biete also Hilfe an, indem ich mein spezifisches Szenario anbiete, wenn Hilfe geschätzt wird.

Laptops oder andere Geräte sind über einen WLAN-Router verbunden.

Ich habe es versucht:

  • Aktivieren Sie Port 80 in der Firewall. nichts ist passiert.
  • Run ping, ipconfigund versuchte IPv4 - Adresse gibt, den Zugriff verweigert oder bringen Sie mich zu verizon (mein ISP), die Router - Konfigurationsseite.
  • Versuchte Konfiguration Apache, war ein Chaos, nie die gesamte Autorisierung in zahlreichen Beiträgen eingerichtet und versuchte eine der vielversprechenden, die meine WAMP abgestürzt, müssen alle Probleme durchgehen und neu installieren.

Ich habe wirklich versucht, allen Benutzern, die eine Verbindung zu diesem WLAN-Router herstellen, den Zugriff auf meine von Win8 gehosteten WAMP-Sites zu ermöglichen.

Ich frage mich, ob es bestimmte Schritte gibt, durch die ich gehen kann, damit es wirklich funktioniert.

WAMP 2.4 unter Win8.1. Laptop hostet lokale Websites.

Ezeewei
quelle

Antworten:

250

Informationen dazu finden Sie am Ende dieses Beitrags in WAMPServer 3

Für WampServer 2.5 und frühere Versionen

WAMPServer ist als Tool für Entwickler mit nur einem Sitz konzipiert. Apache ist daher standardmäßig so konfiguriert, dass nur der Zugriff vom PC aus möglich ist, auf dem der Server ausgeführt wird, z. B. localhost oder 127.0.0.1 oder :: 1

Da es sich jedoch um eine Vollversion von Apache handelt, benötigen Sie lediglich ein wenig Wissen über den von Ihnen verwendeten Server.

Der einfache Weg (Hammer, um eine Nuss zu knacken) ist die Verwendung der Wampmanager-Menüoption 'Online stellen'.

left click wampmanager icon -> Put Online

Dies teilt Apache jedoch mit, dass es Verbindungen von jeder IP-Adresse im Universum akzeptieren kann . Dies ist kein Problem, solange Sie Port 80 nicht an Ihren Router weitergeleitet haben oder dies in Zukunft niemals versuchen werden.

Am sinnvollsten ist es, die Datei httpd.conf zu bearbeiten (erneut über das Menü wampmanager) und die Apache-Zugriffssicherheit manuell zu ändern.

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

Dadurch wird die Datei httpd.conf im Editor gestartet.

Suchen Sie nach diesem Abschnitt dieser Datei

<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>

Angenommen, Ihr lokales Netzwerk-Subnetz verwendet den Adressbereich 192.168.0.

Fügen Sie diese Zeile nach hinzu Allow from localhost

Allow from 192.168.0

Dadurch wird Apache mitgeteilt, dass von jeder IP-Adresse in diesem Subnetz aus auf ihn zugegriffen werden darf. Natürlich müssen Sie überprüfen, ob Ihr Router für die Verwendung des Bereichs 192.168.0 eingestellt ist.

Dies geschieht einfach, indem Sie diesen Befehl über ein Befehlsfenster eingeben ipconfigund auf die Zeile mit der Bezeichnung schauen. IPv4 Address.Verwenden Sie dann die ersten drei Abschnitte der dort angezeigten Adresse.

Zum Beispiel, wenn Ihre so aussah: -

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

Sie würden verwenden

Allow from 192.168.2

UPDATE für Apache 2.4-Benutzer

Wenn Sie Apache 2.4 verwenden, hat sich die Syntax dafür natürlich geändert.

Sie sollten den gesamten Abschnitt ersetzen:

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

Verwenden Sie dazu die neue Apache 2.4-Syntax

Require local
Require ip 192.168.0

Sie sollten dies nicht einfach hinzufügen, httpd.confes muss ein Ersatz sein.

Für WAMPServer 3 und höher

In WAMPServer 3 ist standardmäßig ein virtueller Host definiert. Daher funktionieren die obigen Vorschläge nicht. Sie müssen keine Änderungen mehr an der httpd.confDatei vornehmen . Sie sollten es genau so lassen, wie Sie es finden.

Verlassen Sie stattdessen den Server, OFFLINEda diese Funktion nicht mehr funktioniert und nicht mehr funktioniert. Aus diesem Grund ist das Online/OfflineMenü optional und standardmäßig deaktiviert .

Jetzt sollten Sie die \wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.confDatei bearbeiten . In WAMPServer3.0.6 und höher gibt es tatsächlich ein Menü, das diese Datei in Ihrem Editor öffnet

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

Genau wie die, die es schon immer gab und die Ihre httpd.confDatei bearbeitet .

Es sollte so aussehen, wenn Sie keinen Ihrer eigenen virtuellen Hosts hinzugefügt haben

#
# Virtual Hosts
#

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

Ändern Sie nun einfach den RequireParameter, um ihn Ihren Anforderungen anzupassen

Wenn Sie den Zugriff von überall zulassen möchten, ersetzen Sie ihn Require localdurch

Require all granted

Wenn Sie spezifischer und sicherer sein und nur IP-Adressen in Ihrem Subnetz zulassen möchten, fügen Sie Zugriffsrechte wie diese hinzu, um jeden PC in Ihrem Subnetz zuzulassen

Require local
Require ip 192.168.1

Oder um noch genauer zu sein

Require local
Require ip 192.168.1.100
Require ip 192.168.1.101
RiggsFolly
quelle
1
Ein Problem. Ich habe verschiedene lokale Websites (z. B. 192.168.1.1/mysite1), aber sobald ich auf meinem Telefon versucht habe, auf diese Website zuzugreifen, erscheint sie aus irgendeinem Grund unvollständig. Es ist eine WordPress-Site. Würdest du den Grund dafür kennen?
Ezeewei
1
Oh, ich habe das Problem gefunden, weil in der DB diese Links auf localhost basieren! Jetzt funktioniert alles perfekt: D
Ezeewei
Wie kann ich also ALLEN Benutzern im Netzwerk bei laufendem Wamp-Server Zugriff auf das Gerät gewähren? Wie kann ich die IP-Adresse in dieser Konfiguration schreiben? Ich benutze DHCP.
Mai
Wenn Sie eine IP-Adresse in Ihrem Subnetz meinen, verwenden Sie, wie ich in der obigen Frage sagte, die ersten 3 Quartile der IP-Adresse
RiggsFolly
4
@RiggsFolly Ich habe das getan, aber es funktioniert immer noch nicht. 403 Verboten.
gegobyte
66

Sie müssen den Apache- Prozess (httpd.exe) durch die Firewall zulassen (empfohlen).

Oder deaktivieren Sie Ihre Firewall im LAN (nur zum Testen, nicht empfohlen).

Beispiel mit Wamp (mit aktiviertem Apache):

  1. Überprüfen Sie, ob Wamp lokal veröffentlicht ist. Fahren Sie fort.
  2. Zugriffssteuerung
  3. Klicken Sie auf "Firewall"
  4. Klicken Sie auf "App durch Firewall zulassen".
  5. Klicken Sie auf "App zulassen".
  6. Suchen und wählen Sie C: /wamp64/bin/apache2/bin/httpd.exe
  7. Starten Sie Wamp neu

Öffnen Sie nun den Browser auf einem anderen Host Ihres Netzwerks und greifen Sie per IP auf Ihren Apache-Server zu (z. B. 192.168.0.5). Sie können Ihre lokale Host-IP ermitteln, indem Sie ipconfigan der Eingabeaufforderung eingeben .

Es klappt

Matteus Barbosa
quelle
Stellen Sie sicher, dass Ihr Wamp-Server ausgeführt wird und Sie ihn bereits mit "Put Online"
Matteus Barbosa
Löschen Sie den Browser-Cache, um möglicherweise auch einige Probleme zu lösen
Matteus Barbosa
3
Firewall-Teil hat mir für Windows 10 geholfen. Danke!
Ziemlich cool
Ich hatte die Windows-Firewall bereits deaktiviert, sodass ich nicht dachte, dass dies funktionieren würde - aber das Hinzufügen von Apache als Ausnahme funktionierte tatsächlich für mich. Vielen Dank!
Pawel
@Pawel Dies ist nicht sinnvoll, da eine deaktivierte Firewall die Ausnahmetabellen ignoriert und alles zulässt. Stellen Sie sicher, dass Ihre Antivirensoftware deaktiviert ist oder dass die Firewall-Schicht ebenfalls deaktiviert ist, um einen sauberen Test durchzuführen.
Matteus Barbosa
13
go to... 
C:\wamp\alias

Im Alias-Ordner sehen Sie einige Dateien wie phpmyadmin, phpsysinfo usw.

Öffnen Sie jede Datei, und Sie können innerhalb der Datei sehen, dass einige kommentierte Anweisungen für den Zugriff von außen gegeben sind, z. B. um Zugriff auf phpmyadmin von außen zu gewähren, ersetzen Sie die Zeilen

Require local

by

Require all granted
Sai Ram
quelle
4

Was für mich endlich funktioniert hat, habe ich hier gefunden:

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

Zusammenfassen:

  • set Anhören httpd.conf:

    Listen 192.168.1.154:8081

  • Fügen Sie diesem Abschnitt Zulassen von allen hinzu:

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

  • Legen Sie eine Regel für eingehende Ports fest. Ich denke, das war der entscheidende fehlende Teil für mich:

Toll! Der nächste Schritt besteht darin, den Port (8081) des Servers so zu öffnen, dass jeder auf Ihren Server zugreifen kann. Dies hängt davon ab, welches Betriebssystem Sie verwenden. Wenn Sie beispielsweise Windows Vista verwenden, führen Sie die folgenden Schritte aus.

Öffnen Sie die Systemsteuerung >> System und Sicherheit >> Windows-Firewall, klicken Sie auf "Erweiterte Einstellungen", wählen Sie im linken Bereich "Eingehende Regeln" aus und klicken Sie dann auf "Regel hinzufügen ...". Wählen Sie "PORT" als Option aus der Liste und wählen Sie dann im nächsten Bildschirm das "TCP" -Protokoll und geben Sie die Portnummer "8081" unter "Spezifischer lokaler Port" ein. Klicken Sie dann auf die Schaltfläche "Weiter" und wählen Sie "Verbindung zulassen" und Geben Sie dann den allgemeinen Namen und die Beschreibung für diesen Port ein und klicken Sie auf Fertig.

Jetzt sind Sie auch mit dem Öffnen von PORT fertig.

Als Nächstes klicken Sie auf "Alle Dienste neu starten" von WAMP und greifen Sie über LAN oder WAN auf Ihren Computer zu.

CodyBugstein
quelle
192.168.1.154 steht für?
Charlesliam
1
@ Charlesliam die IP-Adresse der anderen Maschine
CodyBugstein
1

Weil ich das gerade durchgemacht habe - ich wollte meine Lösung geben, obwohl diese etwas alt ist.

Ich habe mehrere Computer an einem Heimrouter und habe selbst an einigen Projekten gearbeitet. Nun, ich wollte sehen, wie es auf meinen Mobilgeräten aussieht. Aber WAMP war so eingestellt, dass ich nur vom Entwicklungssystem aus weiterkommen konnte. Also begann ich mich umzuschauen und fand diesen Artikel sowie einige andere. Das Problem ist - keiner von ihnen hat für mich gearbeitet. Also musste ich das selbst herausfinden.

Meine Lösung:

Zunächst müssen Sie in der Datei HTTPD.CONF eine Zeile am Ende der Liste der Geräte hinzufügen, die auf Ihren WAMP-Server zugreifen dürfen. Also statt:

#    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

mach es:

#    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

Das oben Gesagte besagt, dass jedes Gerät, das sich auf Ihrem Router befindet (die '78' ist nur eine willkürliche Nummer, die für diese Lösung ausgewählt wurde. Es sollte das sein, wofür Ihr Router eingerichtet ist. Es kann also 192.168.1 oder 192.168.0 oder sogar sein 192.168.254 - Sie müssen es auf Ihrem Router nachschlagen.) Können jetzt auf Ihren Server zugreifen.

Das Obige hat nichts für mich getan - zuerst. Sie müssen noch mehr tun. Aber zuerst - was Sie NICHT tun müssen. Sie müssen die WAMP-Einstellung NICHT von Offline auf Online ändern. FÜR MICH - das Ändern dieser Einstellung bringt nichts. Unbekannt warum - einfach nicht. Also ändere es, wenn du willst - aber ich denke nicht, dass es geändert werden muss.

Was muss also noch geändert werden? Für diese nächste Änderung müssen Sie bis zum Anfang der Datei httpd.conf zurückkehren, und das ist wirklich einfach. Sie müssen nach dem eine neue Zeile hinzufügen

Listen Localhost:80

hinzufügen

Listen 192.168.78.###:80

Wobei "###" die IP ist, auf der sich Ihr Server befindet. Angenommen, Ihr Server hat die IP-Nummer 234. Dann würde der obige Befehl lauten

Listen localhost:80
Listen 192.168.78.234:80

Wieder - die '78' ist nur eine willkürliche Zahl, die ich ausgewählt habe. Um Ihre echte IP-Nummer zu erhalten, müssen Sie ein Befehlsfenster öffnen und eingeben

ipconfig/all

Befehl. Suchen Sie nach Ihrer TCP / IPv4-Nummer und setzen Sie sie auf diese Nummer oder TCP / IPv6, wenn dies alles ist, was Sie haben (obwohl Sie bei internen Routersätzen normalerweise eine IPv4-Nummer haben).

Hinweis : Falls Sie nicht wissen, wie ein Befehlsfenster aufgerufen werden soll, klicken Sie auf Start, wählen Sie die Option "Ausführen" und geben Sie "cmd.exe" ohne Anführungszeichen in das Dialogfeld ein. Auf neueren Systemen (da sie ständig alles ändern) kann es sein, dass das weiße Fenstersymbol oder der Kreis oder Bill Gates auf und ab springen. Was auch immer es ist - klicken Sie darauf.

Sobald Sie die oben genannten Schritte ausgeführt haben, starten Sie alle Dienste neu und alles sollte einwandfrei funktionieren.

Endlich - warum? Warum müssen Sie den Listen-Befehl ändern? Es hat mit localhost zu tun. 'localhost' ist standardmäßig auf 127.0.0.1 und NICHT auf Ihre IP-Adresse eingestellt. Dies befindet sich in Ihrer Host-Datei, die sich normalerweise im Ordner system32 unter Windows befindet, aber wahrscheinlich von Microsoft an einen anderen Ort verschoben wurde. Suchen Sie online nach, wo es sich befindet, und schauen Sie es sich an. Wenn Sie in Ihrer localhost-Hostdatei viele Websites mit Sex, Pornos usw. sehen, müssen Sie diese entfernen (es sei denn, das ist Ihr Ding). Ich schlage vor, RogueKiller (bei AdLice.com) zu verwenden, um einen Blick auf Ihr System zu werfen, da es Ihre Hostdatei für Sie zurücksetzen kann.

Wenn Ihre Hostdatei jedoch normal ist, sollte sie nur einen Eintrag enthalten, und dieser Eintrag soll localhost auf 127.0.0.1 setzen. Aus diesem Grund können Sie mit localhost in der Datei httpd.conf nur an allem arbeiten und alles von Ihrem Server-Computer aus sehen.

Wenn Sie sich abenteuerlustig fühlen, ändern Sie Ihre Hostdatei und lassen Sie den Befehl Listen in Ruhe ODER ändern Sie einfach den Befehl Listen, um Port 80 auf Ihrem Server abzuhören.

NEU (ich habe vergessen, diesen Teil einzutragen)

Möglicherweise müssen Sie Ihre TCP / IP-Adresse ändern. (Meins ist bereits eingerichtet, daher musste ich dies nicht tun.) Sie müssen nach Ihrem Betriebssystem suchen, um zu erfahren, wo Ihre TCP / IP-Adresse definiert ist. Unter Windows XP war dies Systemsteuerung-> Netzwerkverbindungen. Dies hat sich in späteren Betriebssystemen geändert, sodass Sie nachschlagen müssen, wie Sie dorthin gelangen. Sobald Sie dort sind, sehen Sie Ihre drahtlose Netzwerkverbindung oder LAN-Verbindung (Windows). Grundsätzlich WIFI oder Ethernet-Kabel. Wählen Sie die aktive und verwendete aus. Klicken Sie unter Windows mit der rechten Maustaste und wählen Sie Eigenschaften. Ein Dialogfeld sollte sich öffnen und Sie sollten eine Liste der Kontrollkästchen mit den Seitenfeldern sehen. Suchen Sie nach dem für TCP / IP. Es sollte eine geben, die TCP / IP sagt v4. Wählen Sie es aus. (Wenn es keine gibt, sollten Sie mit Vorsicht vorgehen.) Klicken Sie auf die Schaltfläche Eigenschaften, und Sie sollten ein weiteres Dialogfeld erhalten. Hier wird entweder "IP-Adresse automatisch beziehen" oder "Folgende IP-Adresse verwenden" ausgewählt. Wenn es das erste ist, müssen Sie es in das zweite ändern. ABER BEVOR SIE DAS TUN - öffnen Sie ein Befehlsfenster und geben Sie den Befehl ipcongfig / all ein, damit Sie direkt vor sich Ihr Standard-Gateway haben. Ändern Sie es dann von "Erhalten ..." in "Verwenden ...". Wo "IP-Adresse" steht, geben Sie die IP-Adresse ein, die Sie immer verwenden möchten. Dies ist die IP-Adresse, die Sie oben im Befehl Listen eingegeben haben. Die zweite Zeile (Subnetzmaske) ist normalerweise 255.255.255.0, was bedeutet, dass sich nur die letzte Zahl (dh: 0) ändert. Dann, Rückblick auf das Befehlsfenster in Ihrem Standard-Gateway. Zu guter Letzt haben sich die DNS-Einstellungen möglicherweise geändert, als Sie von "Erhalten ..." zu "Verwenden ..." gewechselt haben. Wenn der Abschnitt, der sich mit DNS-Einstellungen befasst, in "Verwenden ..." geändert wurde und leer ist, ist die Antwort einfach. Schauen Sie sich einfach diese ipconfig / all-Ausgabe an, suchen Sie dort die DNS-Einstellungen und fügen Sie sie in die dafür vorgesehenen Felder ein. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche OK und dann auf die zweite Schaltfläche OK. Nach dem Schließen des Dialogfelds müssen Sie möglicherweise Ihr System neu starten, damit die Änderungen wirksam werden. Probieren Sie es aus, indem Sie zu Google oder Stack Overflow gehen. Wenn Sie immer noch Orte besuchen können, ist kein Neustart erforderlich. Andernfalls starten Sie neu. Merken! Wenn Sie danach nicht mehr ins Internet gelangen können, gehen Sie einfach zurück und setzen Sie alles auf die Option "Erhalten ..." zurück. Der wahrscheinlichste Grund dafür, dass Sie nach dem Vornehmen der Änderungen nicht mehr ins Internet gelangen können, ist, dass die von Ihnen ausgewählte TCP / IP-Adresse bereits vom Router verwendet wird. Das Sprichwort "Es kann nur eine geben" gilt auch für TCP / IP-Adressen. Deshalb wähle ich immer eine hohe Zahl von einhundert oder eine niedrige Zahl von zweihundert. Weil die meisten DHCP-Setups Zahlen unter fünfzig verwenden. Auf diese Weise kollidieren Sie nicht mit der TCP / IP-Nummer eines anderen.

So habe ich mein Problem behoben.

Mark Manning
quelle
In welcher Datei haben Sie das gemacht?
CodyBugstein
In der Apache-Datei httpd.conf für die meisten Änderungen und in der Hostdatei im Windows / System32-Verzeichnis (unter XP). Eine Aktualisierung der oben genannten ist erforderlich. Sie können tatsächlich mehrere LISTEN-Befehle in der Datei httpd.conf haben. Sie können also tatsächlich Folgendes haben: Listen localhost: 80 und Listen 192.168.78.234:80 Nacheinander.
Mark Manning
Ich habe beschlossen, meine Antwort auf die TCP / IP-Änderungen zu aktualisieren.
Mark Manning
1

In WAMPServer 3 tun Sie dies nicht in httpd.conf

Bearbeiten \wamp\bin\apache\apache{version}\conf\extra\httpd-vhost.confSie stattdessen den für definierten virtuellen Host und führen Sie dieselbe Änderung durchlocalhost

WAMPServer 3 wird mit einem vordefinierten virtuellen Host geliefert localhost

Aaska Patel
quelle
0

Ich habe einige Erfahrungen in Wamp 3.0 und Apache 2.4.

Führen Sie nach allen Arbeiten die folgenden Schritte aus:

1- Deaktiviere nod32.

2- Fügen Sie diese Zeile hinzu, <VirtualHost *:80>um die httpd-vhosts.confDatei zu blockieren :

Require ip 192.168.100 #client ip, allow 192.168.100.### ip's access
ivahidmontazer
quelle
0

Wenn Sie Windows verwenden und alle obigen Kommentare ausführen,

Sie können Ihr Netzwerk und Ihr Freigabecenter überprüfen.

Netzwerk- und Freigabecenter -> Erweiterte Freigabeeinstellungen -> Änderung des Heim- oder Arbeitsprofils

Danke gute Arbeit!

Ferhat KOÇER
quelle
-1

Es ist einfach und hat bei mir wirklich funktioniert.

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

Öffnen Sie dann Ihren Cmd als Administrator und geben Sie dieses Befehlswort ein

ipconfig => and press enter

dann tauchen viele adressen auf, dann muss man nur noch die erste nehmen, es sieht aus wie in diesem beispiel: Adresse IPv4. . . . . . . . . . . . . .: 192.168.67.190 gut gemacht! , das ist die Adresse, mit der Sie sich lokal mit Ihrem Wampserver verbinden.

Nassim
quelle
-2

Stellen Sie Ihren Wamp-Server onlineGeben Sie hier die Bildbeschreibung ein

und dann gehen Sie Control Panel > System und Sicherheit > Windows - Firewall und schalten Sie die Windows - Firewall aus

Jetzt können Sie von einem anderen Computer über das lokale Netzwerk über die Netzwerk-IP des Computers auf Ihren Wamp-Server zugreifen, auf dem der Wamp-Server wie http://192.168.2.34/mysite installiert ist

Shahjahan
quelle