Mysql
 sql >> Database >  >> RDS >> Mysql

Host virtuale WAMP non funzionante

Per prima cosa devi rimuovere l'esempio dummy definizioni dal file vhost-httpd.conf. Sono presenti come solo esempi solo per iniziare con la sintassi e non dovrebbe rimanere in un conf/extra/httpd-vhosts.conf attivo poiché puntano a cartelle inesistenti.

Quindi rimuovi queste 2 definizioni dal file:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "g:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "g:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

Il secondo Apache 2.4.x è IPV4 ( 127.0.0.1 ) e IPV6 (::1) quindi il tuo hosts il file dovrebbe essere simile a questo con le definizioni per entrambe le versioni IPV4 e IPV6 per ciascun sito. Il browser può utilizzare arbitrariamente l'uno o l'altro, quindi sono necessari entrambi, ma probabilmente utilizzerà la rete IPV6 al posto dell'IPV4 se entrambi sono effettivamente attivi sul tuo PC.

127.0.0.1   localhost
::1  localhost

127.0.0.1   mysite.dev
::1  mysite.dev

Ora sui 2 host virtuali che esistono effettivamente sul tuo sistema prova questo come definizione di host virtuale:

<VirtualHost *:80>
    DocumentRoot "g:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
    <Directory  "G:/wamp/www">
        AllowOverride All
        Options Indexes FollowSymLinks
        Require local
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "g:\wamp\www\mysite\public"
    ServerName mysite.dev
    ServerAlias www.mysite.dev
    ErrorLog "logs/mysite-error.log"
    CustomLog "logs/mysite-access.log" common
    <Directory  "G:/wamp/www/mysite/public">
        AllowOverride All
        Options Indexes FollowSymLinks
        Require local
    </Directory>
</VirtualHost>

Il <Directory>....</Directory> sezione all'interno del <VirtualHost>....</VirtualHost> la sezione indica ad Apache da quali indirizzi IP è consentito accettare connessioni, quindi utilizzando la sintassi di Apache 2.4 Require local limita l'accesso in modo che solo il PC che esegue WAMPServer, ad esempio Apache, possa connettersi a uno qualsiasi di questi siti.

Evita di mischiare la sintassi di Apache 2.2 e la sintassi di Apache 2.4 nella stessa definizione. Quindi non usare

Order Allow,Deny
Allow from all

e

Require all granted

nella stessa definizione. Stai usando Apache 2.4 quindi usa la sintassi di Apache 2.4.

Se ritieni di voler consentire ad altri PC all'interno della tua rete locale di vedere il tuo sito, ad esempio il compagno di lavoro o i bambini, ecc., puoi aggiungere questa sintassi a una o più delle tue definizioni di host virtuale.

Consenti a un solo altro PC di accedere al tuo sito

Require local
Require ip 192.168.1.100

o altri 2 PC

Require local
Require ip 192.168.1.100, 192.168.1.101

O per chiunque sulla tua rete locale, usa i primi 3 dei 4 quartili dell'indirizzo IP.

Require ip 192.168.1

Evita anche di utilizzare la sintassi che consente l'accesso da qualsiasi luogo, ad esempio

Require all granted  <--Apache 2.4 syntax

or 

Order Allow,Deny     <-- Apache 2.2 syntax
Allow from all    

Potrebbe risolvere i tuoi problemi a breve termine, ma sta solo aspettando di prenderti in seguito quando deciderai di mostrare il tuo sito a un amico/cliente/capo. Se arrivi alla fase di Port Forwarding, il tuo router in modo che il mondo sia autorizzato a entrare nella tua rete, ciò causerebbe TUTTI I TUOI SITI per diventare disponibile al mondo.

È meglio cambiare l'UNICA definizione di host virtuale per l'UNICO sito che vuoi che le persone vedano per testare/vantarsi da Require local a Require all granted e consenti l'accesso a quel singolo sito solo da Internet.

Una volta apportate tutte queste modifiche, ricordati di riavviare Apache.

Inoltre, se modifichi il file hosts per rendere attivi i chnages, dovresti riavviare o eseguire questi comandi dalla riga di comando di un comando che Windows ha avviato con Runs as Administrator opzione.

net stop dnscache
net start dnscache
ipconfig /flushdns