Não é possível fazer login no phpPgAdmin

10

Estou tentando configurar o phpPgAdmin na minha máquina de teste para que eu possa interagir com o PostgreSQL sem ter que usar sempre o psql CLI. Eu tenho o PostgreSQL 9.1 instalado através do repositório RPM, enquanto eu instalei o phpPgAdmin 5.0.4 "manualmente" (extraindo o arquivo do site phpPgAdmin). Para o registro, meu sistema operacional host é o CentOS 6.2.

Eu já fiz as seguintes alterações de configuração:

PostgreSQL

  • Por dentro de pg_hba.conf , alterei todos os METHOD s para md5.
  • Eu dei à conta do postgres uma senha
  • Eu adicionei uma nova conta chamada webuser com uma senha (observe que não fiz mais nada na conta, por isso não posso dizer exatamente que sei quais permissões ela tem e tudo)

phpPgAdmin config.inc.php

  • Alterou a linha $conf['servers'][0]['host'] = ''; para $conf['servers'][0]['host'] = '127.0.0.1'; (Eu também tentei usar localhost como o valor lá).
  • Defina $conf['extra_login_security'] para false .

Sempre que tento efetuar login no phpPgAdmin, recebo "Login failed", mesmo se eu usar credenciais bem-sucedidas (aquelas que funcionam em psql ). Eu tentei passar por algumas das etapas descritas na pergunta 3 da FAQ , mas não funcionou bem até agora. Provavelmente não ajuda que este seja meu primeiro dia trabalhando com o PostgreSQL. Estou familiarizado com o MySQL, mas tenho que usar o PostgreSQL para o projeto em que estou trabalhando.

Alguém poderia oferecer alguma ajuda sobre como configurar o phpPgAdmin no CentOS 6.2? Se eu fiz algo terrivelmente errado na minha configuração até agora, não é grande coisa para explodir algo / tudo, já que não é como se eu tivesse armazenado quaisquer dados ainda!

Eu aprecio qualquer ideia que você possa ter!

    
por Devin 25.06.2012 / 21:42

3 respostas

7

Bem, eu percebi isso - foi uma combinação de inexperiência com o PostgreSQL e erros muito não-descritivos do phpPgAdmin.

Acontece que eu não tinha o acesso TCP / IP ativado, o que significa que nenhum aplicativo PHP poderia acessar o (s) banco (s) de dados . Para corrigir isso, tive que fazer duas alterações:

  • Pareceu funcionar melhor se eu definir listen_addresses para '*' em postgresql.conf . Não tenho certeza se isso é totalmente necessário ou não, mas em uma máquina bem firewallizada como esta, não deve ser um problema.
  • Eu tive que executar o comando setsebool -P httpd_can_network_connect_db 1 de uma janela de terminal para obter o Apache para obter o programa e conectar-se. Não lembro se tive que reiniciar o PostgreSQL após essa etapa, mas provavelmente não faria mal.

Uma observação final: vi algumas coisas sugerindo a alteração de uma linha tcpip_socket=true in postgresql.conf . Este aparentemente não funciona no PostgreSQL 9.1. Na verdade, ele se recusou a começar depois que eu adicionei isso. Então não faça isso.

De qualquer forma, espero que isso ajude alguém que tenha os mesmos problemas que eu!

    
por 27.06.2012 / 17:14
0

Não consegui configurar o phpPgAdmin até ver a sua solução. Para completar sua solução:

  • não é útil definir listen_address para '*' se o seu servidor phpPgAdmin estiver no mesmo computador que o seu servidor postgresql (9.2 para mim), você pode configurá-lo para localhost .
  • a única coisa que é útil é configurar o booleano do SELinux.
por 07.06.2013 / 09:17
0

Eu tentei a solução acima, mas ainda recebi a mensagem 'Login Failed'. Para resolver, tive de garantir que o IPv6 também esteja definido como password no arquivo pg_hba.conf . Então, faça: vi /var/lib/pgsql/9.4/data/pg_hba.conf e edite de acordo. Em seguida, reinicie o httpd & postgresql (qualquer que seja a versão que você está usando)

    
por 17.03.2018 / 07:20