Error de WAMP: prohibido No tiene permiso para acceder / phpmyadmin / en este servidor

275

Soy nuevo en WAMP y lo acabo de instalar hoy.

La configuración salió bien y localhost parece funcionar, pero cuando intento acceder a phpMyAdmin me sale este error:

Prohibido
No tiene permiso para acceder a / phpmyadmin / en este servidor.

¿Por qué obtengo este error de acceso de permiso con phpMyAdmin?

Estoy usando Windows 7.

Nistor Alexandru
fuente
57
Tenga cuidado con la respuesta aceptada, phpmyadmin de WAMP está configurado para permitir root sin contraseña de forma predeterminada. Allow from allabriría la base de datos al público. El verdadero problema es que WAMP está vinculado a una dirección IPv6 en su versión de Windows. Para solucionarlo basta con añadir Allow from ::1en c:\wamp\alias\phpmyadmin.conf <Directory "c:/wamp/apps/phpmyadmin3.4.5/">.
Tiberiu-Ionuț Stan
2
Curiosamente, esta misma pregunta, más o menos, está protegida como wiki de la comunidad aquí
ruffin

Respuestas:

368

Cambie el contenido del archivo c:\wamp\alias\phpmyadmin.confa lo siguiente.

Nota: Debe establecer la AllowDirectiva para permitir desde su máquina local por motivos de seguridad. La directiva Allow from alles insegura y debe limitarse a su máquina local.

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

Aquí mi instalación de WAMP está en la c:\wampcarpeta. Cámbielo según su instalación.

Anteriormente, era así:

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

Las versiones modernas de Apache 2.2 y posteriores buscarán un loopback IPv6 en lugar de un loopback IPv4 (su host local).

El verdadero problema es que wamp está vinculado a una dirección IPv6. La solución: solo agrega Allow from ::1- Tiberiu-Ionuț Stan

<Directory "c:/wamp22/apps/phpmyadmin3.5.1/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
    Deny from all
    Allow from localhost 127.0.0.1 ::1
</Directory>

Esto permitirá que solo la máquina local acceda a aplicaciones locales para Apache.

Reinicie su servidor Apache después de hacer estos cambios.

Akhil Thayyil
fuente
1
Anteriormente, esto será Denegar de todo Permitir desde 127.0.0.1 También reinicie su servicio de servidor apache después de modificarlo
Akhil Thayyil
2
depende de tu versión de apache. apache> 2.4.x, necesita una configuración diferente. mira mi respuesta a continuación
Kyle
Parece que la razón por la cual, de manera predeterminada, se estableció en 127.0.0.1 es porque esa es la dirección ipv4 localhost. Por alguna razón, aunque esté en el host local, phpmyadmin no le permite entrar. Luego, permite que cualquier usuario obtenga acceso. Esto no parece una vulnerabilidad de seguridad a menos que ponga su sitio de wamp en línea. Sin embargo, puedo estar equivocado: novato completo. En realidad sí, lee el resto del hilo. No hagas la solución anterior.
obesechicken13
3
El phpmyadmin de WAMP está configurado para permitir root sin contraseña. Allow from allabriría la base de datos al público.
Tiberiu-Ionuț Stan
34
El verdadero problema es que wamp está vinculado a una dirección IPv6. La solución: solo agregaAllow from ::1
Tiberiu-Ionuț Stan
137

Solo tiene que verificar si su servidor WAMP está en línea o no.

Para poner su servidor WAMP en línea, siga estos pasos.

  1. Vaya al icono de notificación del servidor WAMP (en la barra de tareas).
  2. Un solo clic en el icono del servidor WAMP.
  3. Seleccione la última opción del menú, es decir, poner en línea
  4. Su servidor se reiniciará automáticamente (solo en las últimas versiones). De lo contrario, debe reiniciar su servidor manualmente.

Y estás HECHO ...

Mehul
fuente
44
Las "últimas versiones solamente" quedarán desactualizadas rápidamente. USTED ESTÁ en el mundo de TI, así que por favor mencione un número de versión. Además, esto no funcionó para mí en absoluto. Siempre tenlo en línea, ejecutándolo como administrador. Peor aún, algunos dominios funcionan con hosts virtuales pero ni siquiera pueden acceder a localhost o 127.0.0.1, o bien con * / phpmyadmin: s Estúpidamente extraño. Esto está en Win8 por cierto. Puede tener algo que ver con Visual Studio 2012 Ultimate 64bit edition también instalado (que incluye IIS 8, se actualizará)
rkeet
1
Dios mío, me siento estúpido. Pasé bastante tiempo jugando con "Requerir todo", etc. Gracias.
John McCollum
La opción Poner en línea ahora no está disponible. Para activarlo, haga clic en el botón derecho en la configuración del icono Wamp> Wamp> verificación junto al elemento de menú: en línea / fuera de línea, cuando ya la izquierda, haga clic en el icono, el 'poner en línea' opción estará disponible
Oush
117

Si está utilizando WAMP con Apache 2.4.2 o superior, debe usar en Require alllugar de Allowy eliminar Order Deny,Allow:

<Directory "f:/Projects/myproject/www/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Require all granted
</Directory>

* como se indica en esta publicación de blog

Kyle
fuente
1
Prohibido No tiene permiso para acceder a / phpmyadmin / en este servidor.
Hassan Z
¡se suponía que tu respuesta era la mejor respuesta! funcionó como un encanto :)
Tohid
Esto funcionó para mí. Servidor WAMP 2.2; Apache 2.4.2; Windows 8.
Michael J
Gracias, esto funcionó para mí (a diferencia de otras respuestas aquí, incluida la aceptada)
Patrick Moore
En mi WAMP estaba configurado en <Directorio /> y funcionó hasta que tuve que cambiar la carpeta a mi carpeta de Dropbox. ¿Por qué se configuró en <Directorio />? Sin embargo, esta solución funciona muy bien.
Jens Törnell
41

Simplemente use 127.0.0.1 en lugar de localhost (no se requieren cambios en el archivo de configuración).

Sistema:

  • Windows 7
  • wampserver2.2d-x64

Esto funciona:

http://127.0.0.1/phpmyadmin/

Este falla:

http://localhost/phpmyadmin/
Barro
fuente
3
El motivo es porque localhost se resuelve como una dirección IPv6, mientras que la configuración predeterminada de wamp solo permite la dirección de bucle invertido IPv4.
Sherbrow
35

Acabo de tener el mismo problema. Resulta que mi instalación de Windows está usando la dirección IPv6 en ::1lugar de 127.0.0.1. Para resolver esto, abrí httpd.confy cambié la siguiente línea:

Allow from 127.0.0.1

a:

Allow from 127.0.0.1 ::1

Ahora puedo acceder al servidor a través de localhost. Hagas lo que hagas, no elimines la Deny from all fromlínea anterior, o cualquier persona en tu red puede obtener acceso a tu servidor web (a menos que eso sea lo que quieras, por supuesto).

Micke
fuente
También tuve que hacer ese cambio a todos los alias, por cierto. Para editar alias, vaya a: "[icono de wamp] -> Apache-> Directorios de alias -> [alias-url] -> editar alias"
Micke
Ejecuté ping localhosten mi terminal cmd y conseguí Reply from ::1: time<1ms. Parece que mi máquina Win7 está resolviendo localhost con una dirección IPv6. Su solución hizo el truco. Estoy de acuerdo, esta probablemente debería ser la respuesta aceptada.
Chris
¡¡¡¡Increíble!!!! Tuve el mismo problema en mi Mac (MAMP) y ahora funciona. ¡Me salvaste el día, amigo !: D
drpelz
¡En httpd.confno funciona para mí, en cambio cuando hago lo mismo phpmyadmin.conffunciona!
Adil
1
Creo que esta respuesta debería editarse, ya que el archivo correcto para editar es wamp/alias/phpmyadmin.confy nohttpd.conf
bg17aw
21

Si está en Windows 7 u 8, entonces Apache podría estar viendo las conexiones provenientes de ":: 1", que es el equivalente IPv6 de 127.0.0.1.

Puede verificar esto buscando en el registro de acceso de Apache (accesible desde el menú WAMP)

::1 - - [20/Dec/2012:21:35:04 +0000] "GET /phpmyadmin/ HTTP/1.1" 403 213

El :: 1 al inicio es la dirección del cliente. El 403 al final es el código de acceso denegado.

Las respuestas anteriores eliminarán todas las restricciones y abrirán phpmyadmin para todos, pero si aún desea restringir phpmyadmin solo a su máquina (generalmente una buena idea), entonces debajo de la línea ...

Allow from 127.0.0.1

... agregue lo siguiente:

Allow from ::1

(editar: Sugerencia agregada de Nukeface)

matalo
fuente
1
Gracias. Este debería ser el comentario principal. Explica el problema, lo resuelve y no introduce una vulnerabilidad de seguridad masiva en el servidor de alguien.
obesechicken13
1
Tengo la solución como una línea separada y adicional. Yo uso " Allow from 127.0.0.1siguiente línea Allow from ::1". En caso de que vuelva a IPv4 (porque digamos que deshabilito IPv6)
rkeet
9

Cambio

Listen 80 

a

Listen 127.0.0.1:80 

en tu httpd.confarchivo Vinculará Apache a una dirección IP y puerto específicos .

Natwar Singh
fuente
8

Descubrí que usar localhost no funcionaría correctamente para permitir el acceso local desde el servidor. Tuve que usar 127.0.0.1.

En phpmyadmin.conf esto no funcionó:

Deny from all
Allow from localhost

esto funcionó:

Deny from all
Allow from 127.0.0.1

Estoy usando la versión 2.2 de WampServer

jamesTheProgrammer
fuente
1
Probablemente sea porque no tiene un archivo HOSTS configurado correctamente, configúrelo correctamente y podrá usar localhost
RiggsFolly
8

Para Apache 2.4.2:

En httpd.conf:

Cambio

Require local

a

Require all granted
CairoCoder
fuente
1
Bro You Made My Day :)
droidchef
7

Quería ejecutar mi servidor en línea y no bajo localhost / 127.0.0.1 y tenía el mensaje prohibido. Estoy ejecutando el servidor WAMP 2.2 ( Apache 2.4.2 / PHP 5.4.3 / MySQL 5.5.24) en Windows 7 de 64 bits. Lo que funcionó para mí es lo siguiente:

  1. Presione el icono de inicio WAMP en el menú
  2. Elija la carpeta Apache
  3. Elige el archivo httpd.conf
  4. En la sección de la pestaña Directorio (sección con el texto "# En línea -> Requerir todo otorgado"), tenía la opción "Requerir local" que cambié a "Requerir todo otorgado"
  5. Reinicia todos los servicios de WAMP

Nuevamente, funcionó para mí y de este hilo entiendo que hay muchos casos en los que puede obtener el mensaje de error anterior, así que si el mío no funciona, intente otras soluciones.

Buena suerte.

(Espero que ayude a que alguien así me haya ayudado. No encontré ninguna de las soluciones anteriores funcionando para mí).

MikeL
fuente
Señor, resolvió un problema que pasé todo el fin de semana tratando de resolver. ¡Gracias!
Hawk
6

1.cambiar D: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ httpd.conf cerca de la línea 279

Require local 

 into 

Require all granted

2.cambie así en D: \ wamp \ alias \ phpmyadmin.conf del existente

   <Directory "d:/wamp/apps/phpmyadmin4.1.14/">
       Options Indexes FollowSymLinks MultiViews
       AllowOverride all
       Require all granted
       Order Deny,Allow
       Allow from all
   </Directory>

3. Haga clic para reiniciar todos los servicios en wamp.

4. Haga clic en poner en línea en wamp.

5. De nuevo, haga clic para reiniciar todos los servicios en wamp.

Espero eso ayude..

Prabhagaran
fuente
4

Solucioné ese problema antes. Puede ocurrir debido a muchas razones, por lo que puede usar algunos o todos los siguientes pasos (abrir los archivos mencionados con cualquier editor de texto, como Notepad ++ ).

Si instala WAMP en C: \ wamp

1- Abra el archivo C: \ wamp \ bin \ apache \ apache2.2.22 \ conf \ httpd.conf

Nota : es posible que tenga una versión de Apache diferente a la de Apache 2.2.22 , por lo que debe escribirla.

Busque: Directorio "C: / wamp / www /" . Encontrarás algo similar a esto:

<Directory "C:/wamp/www/">
   # maybe there is some comments here ...
    AllowOverride all
    Order Allow,Deny
    Allow from all
</Directory>

Asegúrese de que Permitir de todo existe y no está descomentado.

2- Abra el archivo C: \ wamp \ alias \ phpmyadmin.conf .

Asegúrate de eso

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

Cambie Permitir de 127.0.0.1 a Permitir de todos .

Puede eliminar Denegar de todo o comentarlo agregando # al comienzo de la línea, pero debe asegurarse de que Permitir de todo sea ​​la última línea de código justo antes </Directory>.

Nota: es posible que tenga una versión diferente a phpMyAdmin 3.5.1.

Para usar localhost / phpmyadmin en lugar de 127.0.0.1/phpmyadmin :

Abra el archivo C: \ wamp \ bin \ apache \ apache2.2.22 \ conf \ extra \ httpd-vhosts.conf. Agregue lo siguiente al final.

<VirtualHost *:80>
    DocumentRoot "C:/wamp/www"
    ServerName localhost
</VirtualHost>
usama sulaiman
fuente
Esta funcionando. Muchas gracias
ajey
3

La solución simple a esto sería encontrar el archivo phpmyadmin.conf y luego encontrar el siguiente código dentro de él,

<Directory "c:/wamp/apps/phpmyadmin3.5.1/">

Options Indexes FollowSymLinks MultiViews

AllowOverride all

    Order Deny,Allow

Deny from all

Allow from 127.0.0.1

</Directory>

Cambie "Denegar de todos" a "Permitir de todos".

O

Siga el siguiente enlace para comprender mejor cómo hacerlo,

WAMP dice Prohibido No tiene permiso para acceder / phpmyadmin / en este servidor Windows 7 u 8

Disfruta :)

Umesh Patil
fuente
3

Si WampServer funciona en la computadora, está instalado pero no en otro dispositivo de su red (por ejemplo, desde su teléfono) con el mensaje "No tiene permiso para acceder a este servidor". Intenta lo siguiente.

1. Edite httpd-vhosts.conf ( C:\wamp64\bin\apache\apache2.4.33\conf\extra\httpd-vhosts.conf), para que se vea así:

<Directory "${INSTALL_DIR}/www/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
</Directory>

2. Edite phpmyadmin.conf ( C:\wamp64\alias\phpmyadmin.conf), para que se vea así:

<Directory "d:/wamp64/apps/phpmyadmin4.7.9/">
    Options +Indexes +FollowSymLinks +MultiViews
    AllowOverride all
        Order Deny,Allow
        Allow from all
        Require all granted

3. Reinicie los servicios de WampServer

Edu
fuente
para mí, aplicar el paso 1 (y 3) fue todo lo que necesité. Esto no es un defecto, es por diseño. Para conocer las mejores prácticas, consulte stackoverflow.com/questions/36810669/…
HyperActive el
2

Para Apache 2.4.2, la solución es: en httpd.conf en la línea 265, cambie Requerir ninguno para Requerir todo otorgado. Eso es todo.

Ilce MKD
fuente
2

Había comentado la línea :: 1 en mi archivo de hosts.

obeso
fuente
2

Incluso me enfrenté al mismo problema con mi dominio. Si le di una dirección IP estaba funcionando. Pero con un nombre de dominio no lo era.

Entonces revisé mi registro DNS A . El dominio tenía múltiples entradas con diferentes direcciones IP asignadas. Eliminé todos los valores incorrectos, y funcionó. Solo una lista de verificación más si alguien se enfrenta a un problema similar.

Srihari Karanth
fuente
2

Simplemente edite el archivo "c: \ wamp \ alias \ phpmyadmin.conf"

Me gusta esto

<Directory "C:/wamp64/apps/phpmyadmin4.5.5.1/">
    Options Indexes FollowSymLinks MultiViews

    AllowOverride All
    Require all granted
</Directory>
Daniel
fuente
C:/wamp64/apps/phpmyadmin4.5.5.1/no es un archivo, y esta pregunta ya tenía una solución aceptada. Intente evitar que las preguntas "suban" al principio proporcionándoles respuestas, a menos que la pregunta no esté marcada como resuelta o haya encontrado un enfoque alternativo dramáticamente mejor para el problema :)
Edad de obsidiana
Ninguna de las soluciones funcionó para mí. Edité la ruta correcta del archivo, gracias por el consejo.
Daniel
2

En WAMP 3.1.4 x64resolví actualizar el archivo C:\wamp64\alias\phpmyadmin.confde esto:

Alias /phpmyadmin "c:/wamp64/apps/phpmyadmin4.8.3/"

<Directory "c:/wamp64/apps/phpmyadmin4.8.3/">
    Options +Indexes +FollowSymLinks +MultiViews
  AllowOverride all
  <ifDefine APACHE24>
        Require local
    </ifDefine>
    <ifDefine !APACHE24>
        Order Deny,Allow
    Deny from all
    Allow from localhost ::1 127.0.0.1
    </ifDefine>

# To import big file you can increase values
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>

a esto:

Alias /phpmyadmin "c:/wamp64/apps/phpmyadmin4.8.3/"

<Directory "c:/wamp64/apps/phpmyadmin4.8.3/">
    Options +Indexes +FollowSymLinks +MultiViews
  AllowOverride all
    Require all granted

# To import big file you can increase values
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>

Y finalmente reiniciando todos los servicios de WAMP.

madx
fuente
1

En mi caso, el problema fue que la versión phpMyAdmin se especificó incorrectamente en el phpmyadmin.confarchivo. Puede verificar que:

  1. Vaya a wamp / apps / phpmyadmin3.xx : observe el nombre del archivo: ¿qué versión está utilizando actualmente?

  2. Abra el archivo wamp / alias / phpmyadmin.conf:

    Opciones Índices FollowSymLinks MultiViews Permitir anular todos los pedidos denegados, permitir permitir de todos

Verifique que la primera línea (directorio "c: /wamp/apps/phpmyadmin3.xx/") sea el nombre del archivo exactamente igual a su nombre real.

Asegúrese de que el nombre del archivo del directorio sea absolutamente correcto.

the_summer_bee
fuente
0

Lo que estaba sucediendo con mi configuración era que WAMP estaba vinculado a una dirección IPv6 (y cada vez que reinstalaba WAMP).

Para solucionar esto, entré c:\wamp\alias\phpmyadmin.confy agregué la líneaAllow from ::1

Dao largo
fuente
0

El motivo podría ser 127.0.0.1 no está vinculado a localhost. Verifique su archivo 'C: \ Windows \ System32 \ drivers \ etc \ hosts'. Debería tener una línea como esta:

# la resolución del nombre localhost se maneja dentro del mismo DNS.
127.0.0.1 localhost

aspirina
fuente
0

Traté de configurar mi contraseña ... Y así fue como me bloquearon de localhost. Deberían arreglar esto ...

De todos modos, tenga cuidado con los consejos al azar. Todos pueden o no funcionar. Pero algunos consejos lo bloquearán aún más. El que funcionó para mí:

Escriba " http://127.0.0.1/phpmyadmin/" en la barra de direcciones.

Entonces descubrí que http://localhost/phpmyadmin/también funciona.

Sin embargo, antes de eso, por desesperación tuve ...

Eliminé los archivos, desinstalé WAMP, eliminé las cookies temporales e instalé WAMP nuevamente. Todavía no acepta "localhost" (y estoy cansado después de un día tratando de acceder a WAMP), pero el 127.0.0.1 y el localhost / phpmy ... funcionan. Estoy feliz de ver la página de regreso. Y comienza a trabajar de nuevo.

Si lees este hilo hasta aquí significa que probablemente estés en un gran problema ... Windows 8, WAMP (wampserver 2.2). Me pregunto qué necesita para volver a tener acceso a localhost.

usuario2060451
fuente
0

En mi caso, antes se instaló un servidor WAMP en mi PC, por lo que al instalar uno nuevo, algunos archivos no se sobrescriben, todo lo que tiene que hacer en ese caso es ir a C: \ y eliminar toda la carpeta WAMP y luego instalarlo nuevamente .

Refaat
fuente
0

Compruebe si ha iniciado sesión como root o usuario con privilegios. Solo para estar seguro, cierre sesión y vuelva a iniciar sesión con root / sin contraseña.

ObiVanKaPudji
fuente
0

Si el ícono de WAMP no es verde, intente: haga clic con el botón izquierdo en Ícono de WAMP> MySQL> Servicios> Instalar servicio

aeroson
fuente
0

Entonces, todas estas respuestas son básicamente las mismas. Solo abordan una idea: tiene que estar relacionada con DNS . Bueno, esa no es la única parte de esto. Después de muchos cambios, no estaba llegando a ninguna parte leyendo la siguiente "misma respuesta" con la esperanza de que simplemente siguiera mi camino.

Lo que me sirvió fue ajustar mis versiones de Apache . Creo que lo que el acuerdo era, es que el uno de los archivos de configuración Obtiene la ruta apagado o que la instalación debido a IIS puede haber sido mal estado /o /o /etc. Y así, forzar un cambio de versión vuelve a direccionar todo, desde su firewall hasta configuraciones incorrectas.

De hecho, cuando volví a Apache 2.4.2 vuelve a estar prohibido. Y tan pronto como vuelvo a Apache 2.4.4 vuelve a aparecer. Eso descarta los problemas de la red local. Solo quería señalar que todas las respuestas aquí son las mismas y que he podido matar lo prohibido al cambiar la versión de Apache.

jeremy.bass
fuente
0

Yo tuve el mismo problema. ¡El archivo de hosts está dañado! había:

localhos 127.0.0.1

localhost 127.0.0.1

localhos 127.0.0.1
localhos 127.0.0.1

El resultado es que localhostno está definido.

Solución: edite el archivo de hosts con derechos de administrador y corríjalo a una sola entrada:

localhost 127.0.0.1
invitado
fuente
0

En la versión más reciente de WAMP, de alguna manera tenía un "negar todo" en mi .htaccessarchivo. Si nada más funciona, compruebe allí también.

obeso
fuente
0

En mi caso, usando Wampserver 3 64bit versión 3.0.0, la ruta al directorio phpmyadmin4.5.2 en el archivo phpmyadmin.conf era incorrecta. Por alguna razón, el directorio de aplicaciones está dentro del directorio de scripts. Así que ingresé los caminos correctos como se muestra a continuación. Entonces probablemente deba reiniciar Apache y volver a cargar la página.

Cambié:

Alias /phpmyadmin "C:/wamp64/apps/phpmyadmin4.5.2/"

<Directory "C:/wamp64/apps/phpmyadmin4.5.2/">
    Options Indexes FollowSymLinks MultiViews
  AllowOverride all
    Require local

# To import big file you can increase values
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>

A:

Alias /phpmyadmin "C:/wamp64/scripts/apps/phpmyadmin4.5.2/"

<Directory "C:/wamp64/scripts/apps/phpmyadmin4.5.2/">
    Options Indexes FollowSymLinks MultiViews
  AllowOverride all
    Require local

# To import big file you can increase values
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>
barrakuda
fuente