Mensaje WAMP 403 prohibido en Windows 7

101

He instalado WAMP versión 2.1 en mi máquina con Windows 7. Cuando busco localhost en mi navegador, la página del servidor WAMP está visible.

Pero cuando busco mi IP en mi navegador, recibo el mensaje

403 Prohibido: No tiene permiso para acceder / en este servidor.

¿Alguna sugerencia?

Jake
fuente
El acceso a su servidor Apache está prohibido desde direcciones que no sean 127.0.0.1en httpd.conf(archivo de configuración de Apache)
Nasreddine
He corregido eso, ahora obtengo 403 Forbidden en mi phpMyAdmin, ¿alguna sugerencia para eso?
Jake
también hay una phpmyadmin.confque contiene directivas para el alias 'localhost / phpmyadmin'
Nasreddine
si estás aquí para Windows 8, chk this stackoverflow.com/questions/13945783/…
lamentable

Respuestas:

126

El acceso a su servidor Apache está prohibido desde direcciones que no sean 127.0.0.1en httpd.conf(archivo de configuración de Apache):

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

Lo mismo ocurre con su acceso a PHPMyAdmin, el archivo de configuración es phpmyadmin.conf:

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
</Directory>

Puede configurarlos para permitir conexiones desde todas las direcciones IP de la siguiente manera:

AllowOverride All
Order allow,deny
Allow from all
Nasreddine
fuente
7
Esto sin duda abrirá el acceso desde cualquier dirección IP, pero ¿no es un poco peligroso? La regla para permitir 'desde 127.0.0.1' debería ser suficiente para permitir el acceso local, si ese es el objetivo principal aquí, el 127.0.0.1 es básicamente un bucle de regreso al adaptador de red. Si escribe en la barra de direcciones 'http': //127.0.0.1: {portNumber} / {folderOrFileName} 'debería funcionar bien. Esto debería funcionar igual que el uso de localhost, pero he encontrado que algunos navegadores tienen problemas con localhost por alguna razón.
Jeremy
No pude formatear mi línea de dirección en ese último comentario, así que hay un "'" adicional en él, simplemente ignore ese disculpa si confunde a alguien.
Jeremy
Nota: el archivo establece valores predeterminados que luego se anulan uno por uno, así que asegúrese de que estas líneas vayan después de todas las anulaciones.
meetar
3
No olvide "Reiniciar todos los servicios" desde el menú de la bandeja del sistema WAMP (o como quiera que lo haga)
Plummer
12
Para la versión 2.4.x de Apache, reemplace Require localcon Require all granteden el archivo httpd.conf dentro de la <Directory "c:/wamp/www/">etiqueta y luego reinicie todos los servicios
Rakesh
62

Encontré una solución más simple ...

Aunque el ícono era verde, WAMP aún debe estar "Poner en línea" (último elemento del menú al hacer clic con el botón izquierdo).

Después de eso tuve acceso como de costumbre.

Bobs Yeruncle
fuente
3
En realidad, esto debería marcarse como una respuesta aceptada. Gracias, amigo.
ummahusla
Esta solución merece un voto positivo porque la configuración se actualiza cuando hace clic en el botón de poner en línea: forum.wampserver.com/read.php?1,119467,119546
Pierre-Yves Guillemet
Esto me lo arregló también. Aunque en mi caso primero tuve que "Poner fuera de línea", luego "Poner en línea" ¡y trabajé sin ningún otro cambio en mis archivos de configuración! ¡¡Gracias!!
Osmar
1
De hecho, comencé a hacer todas esas cosas en la primera respuesta aceptada. Y no ayudó. Luego vi esto aquí, y pensé 'De ninguna manera puede ser esto ...', pero fue eso y funcionó.
Fusseldieb
Supercalifragilisticexpialidocious!
Vahid
25

Para mí, la inclusión de "Require local" ayudó a resolver el Error 403. El archivo de configuración de alias se ve así:

Alias /mytest/ "C:/mytest/" 

<Directory "C:/mytest/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
    Require local
</Directory>
Girts Strazdins
fuente
3
Esto también funcionó para mí, usando Apache 2.4.9. He estado buscando esto durante mucho tiempo. ¡Gracias!
Jonathan Lidbeck
Options Indexes FollowSymLinks MultiViewsTambién se requiere
Hammad Khan
¿Alguna razón para agregar la parte "C: / mytest /"? No parece tener ningún efecto, y simplemente dejar un / al final como está como estándar parece funcionar igual de bien
Squazz
Mejor use 'Requerir todo otorgado' en lugar de 'Requerir local' si desea abrir su sitio en otros dispositivos de su red local
Rakesh
Agregar "Permitir de todos" lo hizo por mí.
Rex the Strange
10

La solución para cambiar los permisos en httpd.conf funcionará si está de acuerdo con proporcionar acceso al servidor WAMP desde el exterior.

Si no desea hacer eso, todo lo que tiene que hacer es decirle a Windows que el dominio "localhost" apunta a 127.0.0.1. Puede hacerlo editando el archivo de hosts en el directorio de su sistema.

El archivo se encuentra en: C: \ Windows \ System32 \ drivers \ etc \ hosts

por defecto, Windows 7 se envía con:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

Tienes que descomentar la asignación para localhost:

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
#   ::1         localhost

Nota: no podrá editar el archivo de hosts porque es un archivo de solo lectura. Para editar, debe ser el administrador, copiar el archivo en otra ubicación, editarlo y luego volver a copiarlo al directorio, etc.

No recomiendo el cambio del archivo de hosts. Utilice los permisos del archivo httpd.conf. utilice el método del archivo hosts solo si no desea que se acceda al servidor desde el exterior.

Punit Raizada
fuente
8

Intente agregar las siguientes líneas de código al archivo httpd-vhosts.conf:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>
WADeveloper
fuente
7

Otra cosa que descubrí es que si su adaptador de red usa IPV6, no se mostrará como 127.0.0.1 sino :: 1

Lo que terminé haciendo es esto:

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
</Directory>

Lo mismo ocurre con su acceso a PHPMyAdmin, el archivo de configuración es phpmyadmin.conf:

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
        Allow from ::1
</Directory>
Geekhuh
fuente
Creo que esta respuesta realmente aborda lo importante que se pregunta, es decir, que cuando IPv6 está habilitado, localhost se resuelve en una dirección IPv6 (:: 1) y lo que a su vez significa que la dirección solicitante también será una dirección IPv6 (también :: 1) que NO es lo mismo que 127.0.0.1, que es la única dirección desde la que se permiten conexiones. Además, localhost se resuelve a través del servidor DNS local de forma predeterminada (no los hosts) y, en mi opinión, es mejor dejarlo así y, en su lugar, deshabilitar IPv6 para que localhost se resuelva en 127.0.0.1 o cambiar / incluir como se indicó anteriormente.
reflejos rápidos
simplemente agregando 'Permitir desde :: 1' a "c: \ wamp \ alias \ archivo phpmyadmin.conf" solucionó el problema phpmyadmin 403.
ewroman
4

si ha utilizado localhost / phpmyadmin /

simplemente usa

127.0.0.1/phpmyadmin/ para PHPMyAdmin

127.0.0.1/sqlbuddy/ para SQLBuddy

o si ha utilizado localhost: 8080 / phpmyadmin / then

127.0.0.1:8080/phpmyadmin/ para PHPMyAdmin

127.0.0.1:8080/sqlbuddy/ para SQLBuddy

suiz
fuente
4

Recuerde eliminar los elementos ficticios en httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "c:/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 "c:/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>
usuario3684707
fuente
¡Gracias! Esto lo arregló.
Steve
4

Para las versiones de Apache 2.4.x simplemente reemplazar Require localcon Require all granteden httpd.conf archivo dentro de <Directory "c:/wamp/www/">la etiqueta a continuación, reinicie todos los servicios

Rakesh
fuente
1
Esto funcionó para mí. Lo extraño es que otros 2 VirtualHosts (en httpd-vhosts.conf) no tienen 'Requerir local' o 'Requerir todo otorgado', y aún funcionan bien. ¯_ (ツ) _ / ¯
kmdsax
3

Para Wamp 3.1.3 y Apache 2.4, simplemente tuve que cambiar 1 línea en mi archivo httpd-vhosts.conf.

  1. Abra httpd-vhosts.conf
  2. Cambiar "Requerir local" por "Requerir todos los otorgados"
  3. Reiniciar todos los servicios

Luego pude acceder a mi servidor apache desde otras computadoras.

Dale crédito a este video: https://www.youtube.com/watch?v=Sy_f6wBGnjI

EldritchText
fuente
2

Podría haber muchas causas para estos problemas.

Lo que he experimentado son:
1) la 127.0.0.1 localhostentrada se duplicó en el archivo de hosts
2) Apache mod_rewriteno estaba habilitado

Independientemente de la causa, será útil realizar una copia de seguridad de su wwwcarpeta, el archivo de configuración vhost (y el archivo de configuración httpd). Y ese proceso lleva unos minutos.

Buena suerte

Ericn
fuente
2

Leí y probé todas las correcciones, pero ninguna funcionó. Por fin descubrí que el logotipo del servidor de Wamp es verde pero es necesario "PONERLO ONLINE". Tan simple y una solución rápida después de verificar su PHPMyAdmin.Cofgy HttPD.cofgsimplemente haga clic en PONER EN LÍNEA

Nexones
fuente
1

Probé las configuraciones anteriores y solo esto funcionó para mi configuración WAMP Apache 2.4.2. Para varios sitios raíz sin dominios con nombre en su archivo de hosts de Windows, use http://locahost:8080, http://localhost:8081, http://localhost:8082y esta configuración:

#ServerName localhost:80
ServerName localhost

Listen 8080
Listen 8081
Listen 8082
#..... 
<VirtualHost *:8080>
    DocumentRoot "c:\www"
    ServerName localhost
    <Directory "c:/www/">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
<VirtualHost *:8081>
    DocumentRoot "C:\www\directory abc\svn_abc\trunk\httpdocs"
    ServerName localhost
    <Directory "C:\www\directory abc\svn_abc\trunk\httpdocs">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
#<VirtualHost *:8082></VirtualHost>.......
s6712
fuente
1

Me enfrenté a este problema con wamp en Windows 7. Agregar el siguiente código a httpd-vhosts.conf resolvió el problema por mí.

<VirtualHost *:80>
  DocumentRoot "F:/wamp_server/www/"
  ServerName localhost
</VirtualHost>
Vishal
fuente
1

Gracias por tu pregunta Estoy usando wamp 3 ahora. Y encuentro una respuesta simple para hacer esto en tu pregunta. Pero esa respuesta debería cambiar un poco en wamp 3. Los pasos son los siguientes:

  1. Haga clic derecho en el icono de wamp
  2. Elija la configuración de Wamp
  3. Haga clic en el elemento del menú: en línea / fuera de línea
  4. Haga clic con el botón izquierdo en el icono de wamp
  5. Verá que hay un nuevo elemento llamado "Poner en línea"
Smart Du
fuente
Gracias, @ miltonb.
Smart Du
1

Me tomó una eternidad darme cuenta de esto.

C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-vhosts.conf

En este archivo, verá varios archivos de host virtual de ejemplo, que se ven así:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "c:/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 "c:/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>

Simplemente elimine estas entradas y reemplácelas con:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "C:\wamp\www"
    ServerName localhost
</VirtualHost>

Definitivamente necesitas asegurarte de que tus otros patos estén en fila, pero esto para mí con la solución que funcionó.

Aaron S.
fuente
0

hola hay 2 soluciones:

  1. cambie el puerto 80 a 81 en el archivo de texto (httpd.conf) y haga clic en 127.0.0.1:81

  2. cambiar la configuración de la red ir al panel de control - red e internet - centro de redes y recursos compartidos

haga clic en -> selección de conexión de área local -> propiedades marque verdadero en -permitir otro ..... y --- allo otro .....

يوسف الجرعي
fuente
0

Yo tuve este problema también. La ruta de mi problema fue que había cometido un error en mi archivo vhosts.conf. Si está utilizando vhosts, esto es otra cosa para verificar

Pattle
fuente
0

Esta configuración en httpd.conf funciona bien para mí.

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 ::1
</Directory>
Fabio
fuente
0

Asegúrese de no usar un carácter separador de directorio de Windows (barra invertida) en los nombres de las rutas en su archivo .conf, incluso si está en Windows. Apache no los entiende, pero aún se iniciará y luego generará un archivo 403 Forbidden Message.

incorrecto:

<Directory "c:\websites\my-website\">

Derecha:

<Directory "c:/websites/my-website/">
David Murdoch
fuente
0

Sorprendentemente, los corchetes en DocumentRoot (y rutas relacionadas, como <Directory>) también pueden causar el error 403:

  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]" falló con 403, mientras
  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master" funcionó bien.

(No me molesté en averiguar la ruta de Apache que se escapa, si la hay, simplemente renombré la ruta. Si alguien lo sabe, los comentarios son bienvenidos).

Sz.
fuente
0

Mi solución fue deshabilitar la codificación de archivos codificados (estos archivos son verdes en Windows). Obtuve estos archivos de la computadora MAC y estaba encriptado por defecto.

Ive select these files > right click > properities > general tab > andvanced > uncheck encrypt files...

Y listo, funciona.

Petkopalko
fuente
0

He probado todas las cosas excepto limpiar el desorden en el archivo .htaccess.

Vaya al directorio www / y haga una copia del archivo .htaccess en otra carpeta. Luego borre todas las líneas en .htaccess archivo original . Y agrega esta línea,

RewriteEngine On

Luego reinicie el servidor. Esto ha resuelto mi problema y tengo acceso a todos mis sitios de host local. Espero que también resuelva el tuyo.

siddhu151dj
fuente
0

También en Apache 2,4, es posible que deba agregar esto a la directiva de directorio en conf, en caso de que haya decidido incluir httpd-vhosts.conf.

De forma predeterminada, puede instalar wamp en C: \, pero aún así elegir implementar su desarrollo web en otra ubicación.

Para hacer esto dentro de vhosts.conf, puede agregar esta directiva:

<Directory "e:/websites">
    Options Indexes FollowSymLinks MultiViews
    DirectoryIndex index.php
    AllowOverride All
  <IfDefine APACHE24>
    Require local
  </IfDefine>
  <IfDefine !APACHE24>
    Order Deny,Allow
    Allow from all
    Allow from localhost ::1 127.0.0.1
  </IfDefine>
</Directory>
amresh tripathi
fuente
0

asegúrese de que el nombre del archivo en el directorio c:/wamp/apps/phpmyadmin3.1.3.1/coincida con el nombre (o versión) en phpMyAdmin.conf ( Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/")

M.Yousif
fuente
0

Descubrí que si está usando ammps, por alguna razón siempre está prohibido cuando está en su carpeta raíz, así que lo puse en el directorio arriba de mi carpeta raíz e hice un alias en el httpd.conf uso de este

Alias /phpmyadmin "C:/Program Files (x86)/Ampps/phpMyAdmin"

tenga en cuenta que estoy usando ammps y no sé con certeza si funcionará para otros, pero vale la pena intentarlo;)

Nik Hendricks
fuente