Come abilitare gli utenti della rete locale ad accedere ai miei siti WAMP?


119

Prima di tutto, ho letto almeno 20 articoli su questo argomento, e nessuno di loro può corrispondere allo scenario e ho sbagliato il processo numerose volte. Quindi mi rivolgo all'aiuto offrendo il mio scenario specifico se qualsiasi aiuto sarà apprezzato.

I laptop o altri dispositivi sono collegati tramite un router wireless.

Ho provato:

  • Abilita la porta 80 sul firewall. non è successo niente.
  • Run ping, ipconfige ha cercato l'indirizzo IPv4 lì, l'accesso negato o mi portano a Verizon (il mio ISP), pagina di configurazione del router.
  • Ho provato a configurare Apache, è stato un disastro, non ho mai ottenuto tutte le impostazioni di autorizzazione in numerosi post e ho provato uno di quelli promettenti, che ha bloccato il mio WAMP, ho dovuto affrontare tutti i problemi e reinstallare.

Quello che ho davvero cercato di ottenere è semplicemente consentire a tutti gli utenti di connettersi a quel router wireless di accedere ai miei siti WAMP ospitati da Win8.

Mi chiedo se ci sono passaggi specifici che posso seguire per farlo funzionare davvero?

WAMP 2.4 su Win8.1. Siti locali host laptop.

Risposte:


250

Vedere la fine di questo post per sapere come eseguire questa operazione in WAMPServer 3

Per WampServer 2.5 e versioni precedenti

WAMPServer è progettato per essere uno strumento per sviluppatori single-seat. Apache è quindi configurato per impostazione predefinita per consentire l'accesso solo dal PC che esegue il server, ovvero localhost o 127.0.0.1 o :: 1

Ma poiché si tratta di una versione completa di Apache, tutto ciò di cui hai bisogno è una piccola conoscenza del server che stai utilizzando.

Il modo semplice (martello per rompere un dado) è usare l'opzione di menu "Metti in linea" wampmanager.

left click wampmanager icon -> Put Online

Questo tuttavia dice ad Apache che può accettare connessioni da qualsiasi indirizzo IP nell'universo . Questo non è un problema finché non hai effettuato il port forwarding della porta 80 sul tuo router, o non tenterai mai di farlo in futuro.

Il modo più sensato è modificare il file httpd.conf (usando di nuovo il menu wampmanager) e cambiare manualmente la sicurezza di accesso di Apache.

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

Questo avvia il file httpd.conf nel blocco note.

Cerca questa sezione di questo file

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

Ora supponendo che la sottorete della rete locale utilizzi l'intervallo di indirizzi 192.168.0.?

Aggiungi questa riga dopo Allow from localhost

Allow from 192.168.0

Questo dirà ad Apache che è consentito l'accesso da qualsiasi indirizzo IP su quella sottorete. Ovviamente dovrai verificare che il tuo router sia impostato per utilizzare l'intervallo 192.168.0.

Questo viene fatto semplicemente inserendo questo comando da una finestra di comando ipconfige guardando la riga con l'etichetta IPv4 Address., quindi utilizzare le prime 3 sezioni dell'indirizzo che vedi lì.

Ad esempio, se il tuo fosse così: -

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

Useresti

Allow from 192.168.2

AGGIORNAMENTO per utenti Apache 2.4

Ovviamente se stai usando Apache 2.4 la sintassi per questo è cambiata.

Dovresti sostituire TUTTA questa sezione:

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

Con questo, utilizzando la nuova sintassi di Apache 2.4

Require local
Require ip 192.168.0

Non dovresti semplicemente aggiungere questo in httpd.confesso deve essere un sostituto.

Per WAMPServer 3 e versioni successive

In WAMPServer 3 è presente un host virtuale definito per impostazione predefinita. Pertanto i suggerimenti di cui sopra non funzionano. Non è più necessario apportare NESSUNA modifica al httpd.conffile. Dovresti lasciarlo esattamente come lo trovi.

Invece, lascia il server OFFLINEpoiché questa funzionalità è defunta e non funziona più, motivo per cui il Online/Offlinemenu è diventato opzionale e disattivato per impostazione predefinita.

Ora dovresti modificare il \wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.conffile. In WAMPServer3.0.6 e versioni successive c'è effettivamente un menu che aprirà questo file nel tuo editor

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

proprio come quello che è sempre esistito che modifica il tuo httpd.conffile.

Dovrebbe apparire così se non hai aggiunto nessuno dei tuoi host virtuali

#
# Virtual Hosts
#

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

Ora cambia semplicemente il Requireparametro per adattarlo alle tue esigenze EG

Se vuoi consentire l'accesso da qualsiasi luogo, sostituisci Require localcon

Require all granted

Se vuoi essere più specifico e sicuro e consentire solo gli indirizzi IP all'interno della tua sottorete aggiungi diritti di accesso come questo per consentire a qualsiasi PC nella tua sottorete

Require local
Require ip 192.168.1

O per essere ancora più specifici

Require local
Require ip 192.168.1.100
Require ip 192.168.1.101

1
Un problema. Ho diversi siti locali (ad esempio 192.168.1.1/mysite1) ma una volta che ho provato ad accedere a quel sito con il mio telefono, per qualche motivo sembra incompleto. È un sito wordpress. Sapresti il ​​motivo per cui è accaduto?
Ezeewei

1
Oh, ho trovato il problema, perché in DB, quei collegamenti sono basati su localhost! tutto funziona perfettamente ora: D
Ezeewei

Quindi, come posso consentire a TUTTI gli utenti nella rete di accedere al dispositivo con il server wamp in esecuzione? Come posso scrivere l'indirizzo IP in quella configurazione? Sto usando DHCP.
maggio

Se intendi un indirizzo IP nella tua sottorete, come ho detto nella domanda sopra, usa i primi 3 quartili dell'indirizzo IP
RiggsFolly

4
@RiggsFolly l'ho fatto ma ancora non funziona. 403 Proibito.
gegobyte

66

È necessario che il processo Apache (httpd.exe) sia consentito tramite firewall (consigliato).

Oppure disabilita il firewall sulla LAN (solo per testare, non consigliato).

Esempio con Wamp (con Apache attivato):

  1. Controlla se Wamp è pubblicato localmente se lo è, continua;
  2. Accedi al pannello di controllo
  3. Fai clic su "Firewall"
  4. Fai clic su "Consenti app tramite firewall"
  5. Fai clic su "Consenti alcune app"
  6. Trova e scegli C: /wamp64/bin/apache2/bin/httpd.exe
  7. Riavvia Wamp

Ora apri il browser in un altro host della tua rete e accedi al tuo server Apache tramite IP (ad esempio 192.168.0.5). Puoi scoprire il tuo IP host locale digitando ipconfigsul prompt dei comandi.

Funziona


Assicurati che il tuo server Wamp sia in esecuzione e di averlo già impostato disponibile con "Put Online"
Matteus Barbosa

Svuotare la cache del browser potrebbe risolvere anche alcuni problemi
Matteus Barbosa

3
La parte del firewall mi ha aiutato per Windows 10. Grazie!
Pretty Cool

Avevo già disabilitato Windows Firewall, quindi non pensavo che avrebbe funzionato, ma l'aggiunta di Apache come eccezione ha effettivamente funzionato per me. Grazie!
Pawel

@Pawel questo non ha senso poiché un firewall disabilitato ignora le tabelle delle eccezioni e consente tutto. Assicurati che il tuo software antivirus sia disabilitato o che anche il suo livello firewall sia disabilitato per eseguire un test pulito.
Matteus Barbosa

13
go to... 
C:\wamp\alias

All'interno della cartella alias vedrai alcuni file come phpmyadmin, phpsysinfo, ecc ...

apri ogni file e puoi vedere all'interno del file alcune istruzioni commentate fornite per l'accesso dall'esterno, come per dare accesso a phpmyadmin dall'esterno sostituire le righe

Require local

by

Require all granted

4

Quello che alla fine ha funzionato per me è quello che ho trovato qui:

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

Riassumere:

  • imposta Ascolta in httpd.conf:

    Listen 192.168.1.154:8081

  • Aggiungi Consenti da tutti a questa sezione:

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

  • Imposta una regola per la porta in entrata. Penso che sia stata la parte mancante cruciale per me:

Grande! Il prossimo passo è aprire la porta (8081) del server in modo che tutti possano accedere al tuo server. Dipende dal sistema operativo in uso. Ad esempio, se utilizzi Windows Vista, segui i passaggi seguenti.

Aprire il Pannello di controllo >> Sistema e sicurezza >> Windows Firewall quindi fare clic su "Impostazioni avanzate" e quindi selezionare "Regole in entrata" dal pannello di sinistra e quindi fare clic su "Aggiungi regola ...". Selezionare "PORTA" come opzione dall'elenco e quindi nella schermata successiva selezionare il protocollo "TCP" e immettere il numero di porta "8081" in "Porta locale specifica", quindi fare clic sul pulsante "Avanti" e selezionare "Consenti la connessione" e quindi dare il nome generale e la descrizione a questa porta e fare clic su Fine.

Ora hai finito anche con l'apertura PORT.

Successivamente è "Riavvia tutti i servizi" di WAMP e accedi alla tua macchina in LAN o WAN.


192.168.1.154 sta per?
Charlesliam

1
@Charlesliam l'indirizzo IP dell'altra macchina
CodyBugstein

1

Perché ho appena passato questo - volevo dare la mia soluzione anche se questo è un po 'vecchio.

Ho diversi computer su un router domestico e ho lavorato su alcuni progetti per conto mio. Bene, volevo vedere come appariva sui miei dispositivi mobili. Ma WAMP era impostato in modo che potessi andare avanti solo dal sistema di sviluppo. Così ho iniziato a guardarmi intorno e ho trovato questo articolo e altri. Il problema è che nessuno di loro ha funzionato per me. Quindi sono stato lasciato a capirlo da solo.

La mia soluzione:

Innanzitutto, nel file HTTPD.CONF è necessario aggiungere una riga alla fine dell'elenco dei dispositivi a cui è consentito accedere al server WAMP. Quindi invece di:

#    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

fallo:

#    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

Quanto sopra dice che qualsiasi dispositivo che si trova sul tuo router (il "78" è solo un numero arbitrario scelto per questa soluzione. Dovrebbe essere qualunque sia il tuo router è impostato. Quindi potrebbe essere 192.168.1 o 192.168.0 o anche 192.168.254 - devi cercarlo sul tuo router.) Ora puoi accedere al tuo server.

Quanto sopra NON ha fatto nulla per me - all'inizio. C'è di più che devi fare. Ma prima, cosa NON devi fare. NON è necessario modificare l'impostazione WAMP da Offline a Online. PER ME - cambiare questa impostazione non fa nulla. Sconosciuto perché - semplicemente non lo fa. Quindi cambialo se vuoi, ma non penso che debba essere cambiato.

Quindi cos'altro deve essere cambiato? Devi tornare all'inizio del file httpd.conf per questa prossima modifica ed è davvero semplice. Devi aggiungere una nuova riga dopo il file

Listen Localhost:80

Inserisci

Listen 192.168.78.###:80

Dove "###" è l'IP su cui si trova il tuo server. Quindi diciamo che il tuo server è sul numero IP 234. Quindi il comando sopra diventerebbe

Listen localhost:80
Listen 192.168.78.234:80

Di nuovo, il "78" è solo un numero arbitrario che ho scelto. Per ottenere il tuo vero numero IP devi aprire una finestra di comando e digitare

ipconfig/all

comando. Cerca qual è il tuo numero TCP / IPv4 e impostalo su quel numero o TCP / IPv6 se questo è tutto ciò che hai (anche se sui set di router interni di solito hai un numero IPv4).

Nota : nel caso in cui non si sappia come aprire una finestra di comando, fare clic su Start, selezionare l'opzione "Esegui" e digitare "cmd.exe" nella finestra di dialogo senza virgolette. Sui sistemi più recenti (poiché continuano a cambiare tutto) potrebbe essere l'icona di finestre bianche o il cerchio o Bill Gates che salta su e giù. Qualunque cosa sia, cliccaci sopra.

Dopo aver eseguito quanto sopra, riavvia tutti i servizi e tutto dovrebbe funzionare correttamente.

Infine, perché? Perché devi cambiare il comando Ascolta? Ha a che fare con localhost. "localhost" è impostato su 127.0.0.1 e NON sul tuo indirizzo IP per impostazione predefinita. Questo può essere trovato nel file host che di solito si trova nella cartella system32 in Windows, ma probabilmente è stato spostato da Microsoft altrove. Cercalo online per sapere dove si trova e vai a guardarlo. Se vedi molti siti di sesso, porno, ecc. Nel tuo file host localhost, devi sbarazzartene (a meno che non sia la tua cosa). Suggerisco di utilizzare RogueKiller (su AdLice.com) per dare un'occhiata al tuo sistema perché può ripristinare il tuo file host per te.

Se il tuo file host è normale, dovrebbe contenere solo una voce e quella voce deve impostare localhost su 127.0.0.1. Questo è il motivo per cui l'utilizzo di localhost nel file httpd.conf consente di lavorare solo su tutto e vedere tutto dal computer del server.

Quindi, se ti senti avventuroso, cambia il tuo file host e lascia solo il comando Listen OPPURE cambia semplicemente il comando Listen per ascoltare la porta 80 sul tuo server.

NUOVO (ho dimenticato di inserire questa parte)

Potresti dover modificare il tuo indirizzo TCP / IP. (Il mio è già impostato quindi non ho bisogno di farlo.) Dovrai cercare il tuo sistema operativo come arrivare dove è definito il tuo indirizzo TCP / IP. In Windows XP questo era Pannello di controllo-> Connessioni di rete. Questo è cambiato nei sistemi operativi successivi, quindi devi cercare come arrivarci. Ad ogni modo, una volta lì vedrai la tua connessione di rete wireless o Connessione alla rete locale (Windows). Fondamentalmente WIFI o cavo Ethernet. Seleziona quello attivo e in uso. In Windows fai quindi clic con il pulsante destro del mouse e seleziona Proprietà. Dovrebbe apparire una finestra di dialogo e dovresti vedere un elenco di caselle di controllo con ciò che sono a lato. Cerca quello che è per TCP / IP. Dovrebbe essercene uno che dice TCP / IP v4. Selezionalo. (Se non ce n'è uno, dovresti procedere con cautela.) Fai clic sul pulsante Proprietà e dovresti ottenere un'altra finestra di dialogo. Questo mostra "Ottieni automaticamente un indirizzo IP" o "Utilizza il seguente indirizzo IP" selezionato. Se è il primo, devi cambiarlo con il secondo. MA PRIMA DI FARLO, apri una finestra di comando e digita il comando ipcongfig / all in modo da avere, proprio lì di fronte a te, qual è il tuo gateway predefinito. Quindi cambiarlo da "Ottieni ..." a "Usa ...". Dove dice "IP address" inserisci l'indirizzo IP che vuoi usare sempre. Questo è l'indirizzo IP che hai inserito nel comando Ascolta sopra. La seconda riga (subnet mask) di solito è 255.255.255.0, il che significa che cambia solo l'ultimo numero (ad esempio: 0). Poi, guardando indietro alla finestra di comando inserisci il tuo gateway predefinito. Ultimo, ma non meno importante, quando sei passato da "Ottieni ..." a "Usa ...", le impostazioni DNS potrebbero essere cambiate. Se la sezione che si occupa delle impostazioni DNS è cambiata in "Usa ..." ed è vuota, la risposta è semplice. Basta guardare l'output di ipconfig / all, trovare le impostazioni DNS e inserirle nei campi forniti. Al termine, fare clic sul pulsante OK e quindi fare clic sul secondo pulsante OK. Una volta chiusa la finestra di dialogo, potrebbe essere necessario riavviare il sistema affinché le modifiche abbiano effetto. Provalo andando su Google o Stack Overflow. Se puoi ancora andare in qualche posto, non è necessario riavviare. Altrimenti, riavvia. Ricorda! Se non riesci ad accedere a Internet in seguito, tutto ciò che devi fare è tornare indietro e reimpostare tutto sull'opzione "Ottieni ...". Il motivo più probabile, dopo aver apportato le modifiche, che non puoi più accedere a Internet è perché l'indirizzo TCP / IP che hai scelto di utilizzare è già utilizzato dal router. Il detto "Ce ne può essere solo uno" vale anche per gli indirizzi TCP / IP. Questo è il motivo per cui scelgo sempre un numero alto di centinaia o un numero basso di duecento. Perché la maggior parte delle configurazioni DHCP utilizza numeri inferiori a cinquanta. Quindi in questo modo non entri in collisione con il numero TCP / IP di qualcun altro.

Ecco come ho risolto il mio problema.


In quale file l'hai fatto?
CodyBugstein

Nel file httpd.conf di Apache per la maggior parte delle modifiche e nel file host che si trova nella directory Windows / System32 (su XP). È necessario un aggiornamento a quanto sopra. In realtà puoi avere più comandi LISTEN nel file httpd.conf. Quindi puoi effettivamente avere: Listen localhost: 80 e Listen 192.168.78.234:80 Uno dopo l'altro.
Mark Manning

Ho deciso di aggiornare la mia risposta sulle modifiche al TCP / IP.
Mark Manning

1

In WAMPServer 3 non lo fai in httpd.conf

Invece modificare \wamp\bin\apache\apache{version}\conf\extra\httpd-vhost.confe fare lo stesso chnage all'host virtuale definito perlocalhost

WAMPServer 3 viene fornito con un host virtuale predefinito per localhost


0

Ho alcune esperienze in Wamp 3.0 e Apache 2.4.

Dopo che tutti i lavori eseguono questi passaggi:

1- Disabilita nod32.

2- Aggiungi questa riga per <VirtualHost *:80>bloccare nel httpd-vhosts.conffile:

Require ip 192.168.100 #client ip, allow 192.168.100.### ip's access

0

se usi Windows e se fai tutti i commenti sopra,

Puoi controllare la tua rete e il centro di condivisione.

Centro connessioni di rete e condivisione -> Impostazioni di condivisione avanzate -> Modifica profilo casa o lavoro

Grazie buon lavoro!


-1

è semplice e ha funzionato davvero per me.

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

quindi apri il tuo cmd come amministratore e inserisci questa parola di comando

ipconfig => and press enter

poi compaiono tanti indirizzi, poi devi solo prendere il primo, assomiglia a questo esempio: Adresse IPv4. . . . . . . . . . . . . .: 192.168.67.190 ben fatto! , questo è l'indirizzo, che userete per cennecte al vostro server wamp in locale.


-2

Metti in linea il tuo server wampinserisci qui la descrizione dell'immagine

e poi vai su pannello di controllo > sistema e sicurezza > firewall di Windows e disattiva il firewall di Windows

ora puoi accedere al tuo server wamp da un altro computer sulla rete locale tramite l'IP di rete del computer su cui è installato il server wamp come http://192.168.2.34/mysite

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.