Erro WAMP: Proibido Você não tem permissão para acessar / phpmyadmin / neste servidor

275

Eu sou novo no WAMP e acabei de instalá-lo hoje.

A instalação correu bem e o localhost parece funcionar, mas quando tento acessar o phpMyAdmin , recebo este erro:

Proibido
Você não tem permissão para acessar / phpmyadmin / neste servidor.

Por que obtenho esse erro de acesso de permissão com o phpMyAdmin?

Estou usando o Windows 7.

Nistor Alexandru
fonte
57
Cuidado com a resposta aceita, o phpmyadmin do WAMP está configurado para permitir root sem senha por padrão. Allow from allabriria o banco de dados ao público. O verdadeiro problema é que o WAMP está vinculando a um endereço IPv6 na sua versão do Windows. Para corrigir basta adicionar Allow from ::1no c:\wamp\alias\phpmyadmin.conf <Directory "c:/wamp/apps/phpmyadmin3.4.5/">.
Tiberiu-Ionuț Stan
2
Estranhamente, essa mesma pergunta, mais ou menos, é protegida como wiki da comunidade aqui
ruffin

Respostas:

368

Altere o conteúdo do arquivo c:\wamp\alias\phpmyadmin.confpara o seguinte.

Nota: Você deve definir a Allowdiretiva para permitir a partir da sua máquina local por motivos de segurança. A diretiva Allow from allé insegura e deve ser limitada à sua máquina local.

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

Aqui minha instalação do WAMP está no c:\wamp pasta Mude de acordo com a sua instalação.

Anteriormente, era assim:

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

As versões modernas do Apache 2.2 e versões posteriores procurarão um loopback IPv6 em vez de um loopback IPv4 (seu host local).

O verdadeiro problema é que o wamp está vinculando a um endereço IPv6. A correção: basta adicionar 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>

Isso permitirá que apenas a máquina local acesse aplicativos locais para Apache.

Reinicie o servidor Apache depois de fazer essas alterações.

Akhil Thayyil
fonte
1
Anteriormente, isso será Negar a todos Permitir a partir de 127.0.0.1 Também reinicie o serviço do servidor apache após modificar
Akhil Thayyil
2
depende da sua versão do apache. apache> 2.4.x, você precisa de uma configuração diferente. veja minha resposta abaixo
Kyle
Parece que o motivo pelo qual isso foi definido como 127.0.0.1 é porque esse é o endereço ipv4 do host local. Por algum motivo, mesmo que você esteja no host local, o phpmyadmin não está permitindo sua entrada. Então você permite que qualquer usuário obtenha acesso. Isso não parece uma vulnerabilidade de segurança, a menos que você coloque seu site wamp online. Eu posso estar errado - completo novato. Na verdade, sim, leia o resto do tópico. Não faça a correção acima.
precisa saber é o seguinte
3
O phpmyadmin do WAMP está configurado para permitir root sem senha. Allow from allabriria o banco de dados ao público.
Tiberiu-Ionuț Stan
34
O verdadeiro problema é que o wamp está vinculando a um endereço IPv6. A correção: basta adicionarAllow from ::1
Tiberiu-Ionuț Stan
137

Você precisa apenas verificar se o seu servidor WAMP está online ou não.

Para colocar seu servidor WAMP online, siga estas etapas.

  1. Vá para o ícone de notificação do servidor WAMP (na barra de tarefas).
  2. Clique duas vezes no ícone do servidor WAMP.
  3. Selecione a última opção no menu, ou seja, Colocar Online
  4. Seu servidor será reiniciado automaticamente (apenas nas versões mais recentes). Caso contrário, você precisará reiniciar o servidor manualmente.

E você está feito ...

Mehul
fonte
4
"somente versões mais recentes" ficará desatualizada rapidamente. Você está no mundo da TI, por isso mencione um número de versão. Além disso, isso não funcionou para mim. Sempre mantenha-o online, executando-o como administrador. Pior, tenha alguns domínios trabalhando usando hosts virtuais, mas não é possível acessar o host local ou 127.0.0.1, ou com * / phpmyadmin: s Estupidamente estranho. Isso está no Win8 btw. Pode ter algo a ver com o Visual Studio 2012 Ultimate Edition de 64 bits também instalado (que inclui o IIS 8, irá atualizar)
rkeet
1
Meu Deus, eu me sinto estúpido. Passei um bom tempo brincando com "Exigir tudo concedido" etc. Obrigado.
John McCollum 5/05
A opção Colocar online agora não está disponível. Para ativá-lo, clique direito sobre as configurações Wamp Ícone> Wamp> Verificar no item de menu: Online / Offline, quando agora você deixou clique sobre o ícone, o 'Coloque Online' opção estará disponível
Oush
117

Se você estiver usando o WAMP com Apache 2.4.2 ou superior, precisará usar em Require allvez de Allowe remover Order Deny,Allow:

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

* conforme declarado nesta postagem do blog

Kyle
fonte
1
Proibido Você não tem permissão para acessar / phpmyadmin / neste servidor.
precisa
sua resposta deveria ser a melhor resposta! funcionou como um encanto :)
Tohid
Isso funcionou para mim. Servidor WAMP 2.2; Apache 2.4.2; Windows 8.
Michael J
Obrigado, isso funcionou para mim (ao contrário de outras respostas aqui incluindo o aceite)
Patrick Moore
No meu WAMP, ele foi definido como <Diretório /> e funcionou até eu precisar alterar a pasta para minha pasta da caixa de depósito. Por que foi definido como <Diretório />? Esta solução funciona muito bem no entanto.
Jens Törnell
41

Basta usar 127.0.0.1 em vez de localhost (nenhuma alteração no arquivo de configuração é necessária).

Sistema:

  • Windows 7
  • wampserver2.2d-x64

Isso funciona:

http://127.0.0.1/phpmyadmin/

Este falha:

http://localhost/phpmyadmin/
Mudx
fonte
3
O motivo é que o host local é resolvido como um endereço IPv6, enquanto a configuração padrão do wamp permite apenas o endereço de loopback IPv4.
Sherbrow
35

Eu apenas tive o mesmo problema. Acontece que minha instalação do Windows está usando o endereço IPv6 em::1 vez de 127.0.0.1. Para resolver isso, abri httpd.confe alterei a seguinte linha:

Allow from 127.0.0.1

para:

Allow from 127.0.0.1 ::1

Agora eu posso acessar o servidor através localhost. Faça o que fizer, não remova a Deny from all fromlinha acima, ou qualquer pessoa na sua rede pode obter acesso ao seu servidor da web (a menos que você queira, é claro).

Micke
fonte
Eu também tive que fazer essa alteração em todos os pseudônimos, a propósito. Para editar aliases, vá para: "[ícone do wamp] -> Apache-> Diretórios de alias -> [alias-url] -> editar alias"
Micke
Eu executei ping localhostno meu terminal cmd e consegui Reply from ::1: time<1ms. Parece que minha máquina Win7 está resolvendo o host local com um endereço IPv6. Sua solução fez o truque. Eu concordo, essa provavelmente deve ser a resposta aceita.
18713 Chris
Impressionante!!!! Eu tive o mesmo problema no meu Mac (MAMP) e agora funciona! Você salvou meu dia, cara!: D
drpelz
In httpd.confnão funciona para mim, ao contrário, quando eu faço a mesma coisa phpmyadmin.conf, funciona!
Adil
1
Eu acho que essa resposta deve ser editadas, como o arquivo correto para editar é wamp/alias/phpmyadmin.conf, e nãohttpd.conf
bg17aw
21

Se você estiver no Windows 7 ou 8, o Apache pode estar vendo as conexões provenientes de ":: 1", que é o equivalente do IPv6 a 127.0.0.1.

Você pode verificar isso consultando o Apache Access Log (acessível no menu WAMP)

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

O :: 1 no início é o endereço do cliente. O 403 no final é o código de acesso negado.

As respostas acima removerão todas as restrições e abrirão o phpmyadmin para todos, mas se você ainda quiser restringir o phpmyadmin apenas à sua máquina (geralmente uma boa ideia), então abaixo da linha ...

Allow from 127.0.0.1

.. adicione o seguinte:

Allow from ::1

(editar: sugestão adicionada do Nukeface)

matalo
fonte
1
Obrigado. Este deve ser o principal comentário. Você explica o problema, resolve-o e não apresenta uma enorme vulnerabilidade de segurança ao servidor de alguém.
precisa saber é o seguinte
1
Eu tenho a solução como uma linha separada e adicional. Eu uso " Allow from 127.0.0.1próxima linha Allow from ::1". Apenas no caso de ele muda de volta para IPv4 (porque dizem-me desabilitar o IPv6)
rkeet
9

mudança

Listen 80 

para

Listen 127.0.0.1:80 

no seu httpd.confarquivo. Ele ligará o Apache a um endereço IP e porta específicos.

Natwar Singh
fonte
8

Eu descobri que o uso do host local não funcionaria corretamente para permitir o acesso local do servidor. Eu tive que usar 127.0.0.1.

No phpmyadmin.conf isso não funcionou:

Deny from all
Allow from localhost

isso funcionou:

Deny from all
Allow from 127.0.0.1

Estou usando o WampServer versão 2.2

jamesTheProgrammer
fonte
1
Isso é provavelmente porque você não tem um arquivo HOSTS configurado corretamente, configurar isso corretamente e você será capaz de usar localhost
RiggsFolly
8

Para o Apache 2.4.2:

No httpd.conf:

mudança

Require local

para

Require all granted
CairoCoder
fonte
1
Bro Você fez o meu dia :)
droidchef
7

Eu queria executar meu servidor online e não em localhost / 127.0.0.1 e tinha a mensagem proibida. Estou executando o servidor WAMP 2.2 ( Apache 2.4.2 / PHP 5.4.3 / MySQL 5.5.24) no Windows 7 de 64 bits. O que funcionou para mim é o seguinte:

  1. Pressione o ícone WAMP de inicialização no menu
  2. Escolha a pasta Apache
  3. Escolha o arquivo httpd.conf
  4. Na seção da guia Diretório (seção com o texto "# Online -> Exigir tudo concedido"), eu tinha a opção "Exigir local", que mudei para "Exigir tudo concedido"
  5. Reinicie todos os serviços do WAMP

Mais uma vez, funcionou para mim e, a partir deste segmento, entendo que há muitos casos em que você pode receber a mensagem de erro acima. Portanto, se o meu não funcionar, tente outras soluções.

Boa sorte.

(Espero que ajude alguém assim me ajudou. Não encontrei nenhuma das soluções acima funcionando para mim.)

MikeL
fonte
Senhor, resolveu um problema que passei o fim de semana inteiro tentando resolver. Obrigado!
Falcão
6

1. altere D: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ httpd.conf perto da linha 279

Require local 

 into 

Require all granted

2. mude assim em D: \ wamp \ alias \ phpmyadmin.conf do 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.Clique para reiniciar todos os serviços no wamp.

4.Clique em colocar online no wamp.

5. Novamente Clique para reiniciar todos os serviços no wamp.

Espero que ajude..

Prabhagaran
fonte
4

Eu consertei esse problema antes. Isso pode acontecer devido a vários motivos, para que você possa usar algumas ou todas as próximas etapas (abrir arquivos mencionados usando qualquer editor de texto, como o Notepad ++ ).

Se você instalar o WAMP em C: \ wamp

1- Abra o arquivo C: \ wamp \ bin \ apache \ apache2.2.22 \ conf \ httpd.conf

Nota : você pode ter uma versão diferente do Apache que o Apache 2.2.22 , portanto, é necessário escrevê-la.

Procure por: Diretório "C: / wamp / www /" . Você encontrará algo semelhante a este:

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

Certifique-se de que Permitir tudo existe e não seja comentado.

2- Abra o arquivo C: \ wamp \ alias \ phpmyadmin.conf .

Certifique-se de que

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

Altere Permitir de 127.0.0.1 para Permitir de todos .

Você pode remover Negar de todos ou comentar ao adicionar # no início da linha, mas certifique-se de que Permitir de todos seja a última linha de código imediatamente antes </Directory>.

Nota: você pode ter uma versão diferente do phpMyAdmin 3.5.1.

Para usar localhost / phpmyadmin em vez de 127.0.0.1/phpmyadmin :

Abra o arquivo C: \ wamp \ bin \ apache \ apache2.2.22 \ conf \ extra \ httpd-vhosts.conf. Adicione o seguinte no final.

<VirtualHost *:80>
    DocumentRoot "C:/wamp/www"
    ServerName localhost
</VirtualHost>
usama sulaiman
fonte
Está funcionando. Muito obrigado por isso.
ajey
3

A solução simples para isso seria encontrar o arquivo phpmyadmin.conf e depois encontrar o código abaixo,

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

Altere "Negar de todos" para "Permitir de todos".

OU

Siga o link abaixo para entender melhor como fazê-lo,

O WAMP diz Proibido Você não tem permissão para acessar / phpmyadmin / neste servidor Windows 7 ou 8

Aproveitar :)

Umesh Patil
fonte
3

Se o WampServer funcionar no computador, ele está instalado, mas não em outro dispositivo da sua rede (por exemplo, do seu telefone) com a mensagem 'Você não tem permissão para acessar neste servidor'. tente o seguinte.

1. Edite o httpd-vhosts.conf ( C:\wamp64\bin\apache\apache2.4.33\conf\extra\httpd-vhosts.conf), para que fique assim:

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

2. Edite o phpmyadmin.conf ( C:\wamp64\alias\phpmyadmin.conf), para que fique assim:

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

3. Reinicie os serviços WampServer

Edu
fonte
para mim, aplicar as etapas 1 (e 3) foi o suficiente. Isso não é uma falha, é por design. Para práticas recomendadas, consulte stackoverflow.com/questions/36810669/…
HyperActive
2

Para o Apache 2.4.2, a solução é: no httpd.conf na linha 265, altere Exigir nenhum para Exigir todos os concedidos. Isso é tudo.

Ilce MKD
fonte
2

Eu tinha comentado a linha :: 1 no meu arquivo hosts.

obesechicken13
fonte
2

Até eu enfrentei o mesmo problema com o meu domínio. Se eu desse um endereço IP, estava funcionando. Mas com um nome de domínio não era.

Então eu verifiquei meu registro DNS A . O domínio tinha várias entradas com diferentes endereços IP atribuídos. Eu removi todos os valores errados e funcionou. Apenas mais uma lista de verificação se alguém enfrentar um problema semelhante.

Srihari Karanth
fonte
2

Apenas edite o arquivo "c: \ wamp \ alias \ phpmyadmin.conf"

como isso

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

    AllowOverride All
    Require all granted
</Directory>
Daniel
fonte
C:/wamp64/apps/phpmyadmin4.5.5.1/não é um arquivo e esta pergunta já teve uma solução aceita. Tente evitar 'esbarrar' nas perguntas do topo, fornecendo respostas para elas, a menos que a pergunta ainda não tenha sido marcada como resolvida ou você tenha encontrado uma abordagem alternativa dramaticamente melhor para o problema :)
Obsidian Age
Nenhuma das soluções funcionou para mim. Editei o caminho correto do arquivo, obrigado pela dica.
Daniel
2

Em WAMP 3.1.4 x64Eu resolvi atualizar o arquivo C:\wamp64\alias\phpmyadmin.confa partir desta:

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>

para isso:

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>

E, finalmente, reiniciando todos os serviços WAMP.

madx
fonte
1

No meu caso, o problema foi que a versão do phpMyAdmin foi especificada incorretamente no phpmyadmin.confarquivo. Você pode verificar se:

  1. Vá para wamp / apps / phpmyadmin3.xx : observe o nome do arquivo - qual versão você está usando atualmente?

  2. Abra o arquivo wamp / alias / phpmyadmin.conf:

    Opções Índices FollowSymLinks MultiViews AllowOverride all Order Deny, Allow Allow from all

Verifique se a primeira linha (diretório "c: /wamp/apps/phpmyadmin3.xx/") é o nome do arquivo exatamente igual ao seu nome real.

Verifique se o nome do arquivo de diretório está absolutamente correto.

the_summer_bee
fonte
0

O que estava acontecendo com a minha instalação era que o WAMP estava vinculado a um endereço IPv6 (e toda vez que eu reinstalava o WAMP).

Para consertar isso, entrei c:\wamp\alias\phpmyadmin.confe adicionei a linhaAllow from ::1

Long Dao
fonte
0

O motivo pode ser 127.0.0.1 não está vinculado ao host local. Verifique o arquivo 'C: \ Windows \ System32 \ drivers \ etc \ hosts'. Deve ter uma linha como esta:

# localhost resolução de nomes é tratada no próprio DNS.
127.0.0.1 localhost

aspirina
fonte
0

Tentei configurar minha senha ... E foi assim que fui bloqueado do host local. Eles deveriam consertar isso ...

De qualquer forma, tenha cuidado com conselhos aleatórios. Todos eles podem ou não funcionar. Mas alguns conselhos o impedirão ainda mais. Aquele que funcionou para mim:

Digite " http://127.0.0.1/phpmyadmin/" na barra de endereço.

Então eu descobri que http://localhost/phpmyadmin/também funciona.

No entanto, antes disso, por desespero, eu tinha ...

Excluí os arquivos, desinstalei o WAMP, excluí cookies temporários e instalei o WAMP novamente. Ele ainda não aceita "localhost" (e estou cansado após um dia tentando acessar o WAMP), mas o 127.0.0.1 e o localhost / phpmy ... funcionam. Fico feliz em ver a página de volta. E comece a trabalhar novamente.

Se você ler este tópico até aqui, significa que provavelmente está com um grande problema ... Windows 8, WAMP (wampserver 2.2). Gostaria de saber o que ele precisa para ter acesso de volta ao localhost.

user2060451
fonte
0

No meu caso, um servidor WAMP foi instalado anteriormente no meu PC; portanto, ao instalar o novo, alguns arquivos não sobrescritos, tudo o que você precisa fazer nesse caso é acessar o C: \ e excluir toda a pasta WAMP e instalá-lo novamente. .

Refaat
fonte
0

Verifique se você está logado como root ou usuário com privilégios. Apenas para ter certeza, saia e faça login novamente com root / no-password.

ObiVanKaPudji
fonte
0

Se o seu ícone WAMP não estiver verde, tente: Clique com o botão esquerdo do mouse em Ícone WAMP> MySQL> Serviços> Serviço de Instalação

aeroson
fonte
0

Então, todas essas respostas são basicamente as mesmas. Eles abordam apenas uma idéia: ela deve estar relacionada ao DNS . Bem, essa não é a única parte disso. Depois de muitas mudanças, eu estava chegando a lugar nenhum lendo a próxima "mesma resposta", esperando que ela seguisse o meu caminho.

O que fez o truque para mim foi ajustar minhas versões do Apache . Eu acho que foi o problema, é que um dos arquivos de configuração fica fora do caminho ou que a instalação devido ao IIS pode ter sido uma bagunça /ou /ou /etc. E, portanto, forçar uma mudança de versão reavalia tudo, desde o firewall até configurações ruins.

De fato, quando voltei para o Apache 2.4.2, ele voltou a ser proibido. E assim que eu volto ao Apache 2.4.4, ele volta. Isso exclui problemas de rede local. Eu só queria ressaltar que todas as respostas aqui são as mesmas e que pude eliminar o proibido alterando a versão do Apache.

jeremy.bass
fonte
0

Eu tive o mesmo problema. O arquivo hosts está corrompido! havia:

localhos 127.0.0.1

localhost 127.0.0.1

localhos 127.0.0.1
localhos 127.0.0.1

O resultado é que localhostnão está definido.

Solução: edite o arquivo hosts com direitos de administrador e corrija apenas uma entrada:

localhost 127.0.0.1
convidado
fonte
0

Na versão mais recente do WAMP, de alguma forma, tive um "negar tudo" no meu .htaccessarquivo. Se nada mais funcionar, verifique lá também.

obesechicken13
fonte
0

No meu caso, usando o Wampserver 3 64bit versão 3.0.0, o caminho para o diretório phpmyadmin4.5.2 no arquivo phpmyadmin.conf estava errado. Por alguma razão, o diretório de aplicativos está dentro do diretório de scripts. Então, eu digitei os caminhos corretos, como mostrado abaixo. Então você provavelmente precisará reiniciar o Apache e recarregar a página.

Eu mudei:

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>

Para:

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
fonte