sql >> Base de Datos >  >> RDS >> Mysql

El host virtual WAMP no funciona

Primero debe eliminar el ejemplo ficticio definiciones de su archivo vhost-httpd.conf. Están allí como solo ejemplos solo para comenzar con la sintaxis, y no debe permanecer en un conf/extra/httpd-vhosts.conf activo ya que apuntan a carpetas inexistentes.

Así que elimine estas 2 definiciones del archivo:

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

Segundo Apache 2.4.x es compatible con IPV4 ( 127.0.0.1 ) e IPV6 (::1), por lo que sus hosts El archivo debería verse así con definiciones para las versiones IPV4 e IPV6 para cada sitio. El navegador puede usar cualquiera de los dos arbitrariamente, por lo que necesita ambos, pero probablemente usará la red IPV6 en lugar de IPV4 si ambos están realmente activos en su PC.

127.0.0.1   localhost
::1  localhost

127.0.0.1   mysite.dev
::1  mysite.dev

Ahora, en los 2 hosts virtuales que realmente existen en su sistema, intente esto como la definición de host virtual:

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

El <Directory>....</Directory> sección dentro de <VirtualHost>....</VirtualHost> La sección le dice a Apache de qué direcciones IP puede aceptar conexiones, por lo que usa la sintaxis de Apache 2.4 Require local limita el acceso para que solo la PC que ejecuta WAMPServer, es decir, Apache, pueda conectarse a cualquiera de estos sitios.

Evite mezclar la sintaxis de Apache 2.2 y la sintaxis de Apache 2.4 en la misma definición. Así que no uses

Order Allow,Deny
Allow from all

y

Require all granted

en la misma definición. Está usando Apache 2.4, así que use la sintaxis de Apache 2.4.

Si descubre que desea permitir que otras PC dentro de su red local vean su sitio, es decir, un compañero de trabajo o los niños, etc., puede agregar esta sintaxis a una o más de su definición de host virtual.

Permita que una sola PC ingrese a su sitio

Require local
Require ip 192.168.1.100

u otras 2 PC

Require local
Require ip 192.168.1.100, 192.168.1.101

O para cualquier persona en su red local, simplemente use los primeros 3 de los 4 cuartiles de la dirección IP.

Require ip 192.168.1

También evite usar la sintaxis que permite el acceso desde cualquier lugar, es decir,

Require all granted  <--Apache 2.4 syntax

or 

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

Es posible que resuelva sus problemas a corto plazo, pero está a la espera de encontrarlo más adelante, cuando decida que desea mostrar su sitio a un amigo/cliente/jefe. Si llega a la etapa de reenvío de puertos de su enrutador para que el mundo pueda ingresar a su red, eso causaría TODOS SUS SITIOS para estar disponible para el mundo.

Es mejor cambiar la definición de ÚNICO host virtual para el ÚNICO sitio que desea que la gente vea para probar/presumir desde Require local para Require all granted y solo permitir el acceso a ese único sitio desde Internet.

Una vez que haya realizado todos estos cambios, recuerde reiniciar Apache.

Además, si cambia el archivo de hosts para activar los cambios, debe reiniciar o ejecutar estos comandos desde la línea de comandos de una ventana de comandos iniciada con Runs as Administrator opción.

net stop dnscache
net start dnscache
ipconfig /flushdns