phpMyAdmin Error - O arquivo de configuração agora precisa de uma senha secreta

Respostas:

39

Isso pode ajudar, https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase

Se você vir a seguinte mensagem de erro na parte inferior da página quando você efetuar login no / phpmyadmin (usando um nome de usuário e senha do MySQL configurados anteriormente):

ERROR: The configuration file now needs a secret passphrase (blowfish_secret)  

Você precisa adicionar uma senha blowfish ao arquivo de configuração do phpMyAdmin. Edite /etc/webapps/phpmyadmin/config.inc.php e insira uma "senha" aleatória na linha

$cfg['blowfish_secret'] = ; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */  

Agora deve ser algo como isto:

$cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */  

Isso tudo pressupõe que você já criou corretamente o arquivo de configuração,

cp config.sample.inc.php config.inc.php
user16081-JoeT
fonte
Como eu disse, já defini a senha e ainda não estou funcionando.
jax
1
Talvez o arquivo de configuração que você editou não seja o ativo? Porque o erro indica que a senha não está definida.
user16081-JoeT
2
Eu tenho esse mesmo problema ... Troquei meu config.sample.inc.phparquivo config.inc.phpe adicionei a $cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz';configuração mencionada , mas a página de índice do phpMyAdmin ainda reclama que está faltando! Se houver alguma chance de carregar um arquivo diferente, não sei onde ou por que o arquivo está? Alguma idéia para alguém que já teve esse problema antes?
JasonDavis
1
@jasondavis verifica a outra resposta; você pode ter um problema de permissão e precisa alterar a propriedade / grupo da sua pasta de configuração do phpMyAdmin.
user16081-JoeT
2
Você pode usar o "Gerador Secreto" em question-defense.com/tools/phpmyadmin-blowfish-secret-generator para obter um código aleatório que deve funcionar. Está vinculado em um pager da postagem user16081-JoeT. Então siga as instruções dele.
WebLuke 03/07
8

Eu também estava recebendo o erro The configuration file now needs a secret passphrase (blowfish_secret)quando o arquivo de configuração foi $cfg['blowfish_secret']definido. Estou usando o CentOS v6 e instalei o PHPMyAdmin a partir do repositório EPEL yum. Eu configurei o nginx para hospedar o PHPMyAdmin e o pacote PHPMyAdmin (por padrão) está configurado para funcionar com o Apache. O arquivo de configuração está localizado em /etc/phpMyAdmin/config.inc.php(você pode fazer o check- CONFIG_DIRin libraries/vendor_config.phppara descobrir onde está o arquivo de configuração) e, se perceber, o usuário é root e o grupo é apachepara o arquivo e o diretório. Isso faz com que o PHPMyAdmin não consiga ler o arquivo de configuração. Para corrigir esse problema, use chownpara alterar o grupo para o que está executando seu servidor da Web (no meu caso, o grupo é nginx). Você precisará alterar o proprietário do diretório E do arquivo de configuração (como mostrado abaixo).

chown -R root.nginx /etc/phpMyAdmin/

Observe que você pode precisar fazer isso novamente se o PHPMyAdmin for atualizado. Você também pode ter mais problemas com permissões se o SELinux estiver ativado.

ub3rst4r
fonte
Comentários em /etc/phpmyadmin/config.inc.php: `* NOTA: não adicione dados confidenciais de segurança a este arquivo (como senhas) *, a menos que você realmente saiba o que está fazendo. Se você o fizer, qualquer usuário que possa * executar PHP ou CGI em seu servidor da Web poderá lê-los. Se você ainda * deseja fazer isso, certifique-se de proteger adequadamente o acesso a esse arquivo * (também no nível do sistema de arquivos). * / `
Buttle Butkus
Abaixo disso, ele tem a seguinte linha: include('/var/lib/phpmyadmin/blowfish_secret.inc.php');Então eu fui lá e mudei o grupo desse arquivo para o usuário do servidor da web. Funciona, mas não parece mais seguro do que colocar a senha /etc/phpmyadmin/config.inc.php. Eu acho que talvez o PHP não possa ser executado lá? Corrigiu o problema, no entanto. Acho que vou atravessar a ponte de ataque de hackers quando chegar a ela.
Buttle Butkus
O local padrão no CONFIG_DIR é ./config/config.inc.php. Como eu tenho esse arquivo fora deste diretório para poder trocar versões mais facilmente, eu só precisava criar um link simbólico para esse arquivo no meu local e a mensagem desapareceu para mim. ln -s ../../../config.inc.php config.inc.php
MECU
+1 Por precisar definir permissões no /etc/phpMyAdmindiretório, e não apenas o config.inc.phparquivo nele.
precisa saber é o seguinte
5

eu tinha

define('CONFIG_DIR', '/etc/phpmyadmin'); 

em /usr/share/phpmyadmin/libraries/vendor_config.php.

Deveria ser:

define('CONFIG_DIR', '/etc/phpmyadmin/'); 

(barra adicionada)

Marcel Molenaar
fonte
2

A versão mais recente do phpmyadmin não cria o arquivo de configuração após a instalação. Há um exemplo de arquivo de configuração disponível e um arquivo de configuração padrão real, mais profundo na árvore de pastas.

Observe que o segredo do blowfish deve ter exatamente 32 caracteres de comprimento, caso contrário, não será aplicado.

Copie o arquivo de exemplo para criar o arquivo usado real que substitui os padrões. O diretório mostrado abaixo é apenas um exemplo, portanto, use o diretório / caminho para a instalação do phpmyadmin que se aplica.

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

No topo do arquivo está a variável blowfish que precisa ser definida. Adicione 32 caracteres aleatórios ao valor da variável e salve o arquivo.

$cfg['blowfish_secret'] = 'KLS$vbc91Lkja$vc@opGbxA278EWopdc';

Eu não li ninguém mencionando a regra de 32 caracteres neste tópico. Talvez esse fosse o problema do OP.

D Moreau
fonte
2

No meu caso, atualizei o PHPMyAdmin manualmente porque a versão no repositório não se comportou bem no PHP 7.2. Eu segui todas as etapas on-line, mas cometi um erro no /usr/share/phpmyadmin/libraries/vendor_config.php.

A linha: define('CONFIG_DIR', '/etc/phpmyadmin/');faltava um /no final. Descobri isso editando manualmente libraries / classes / Config.php e, no começo function load($source), fiz a die($source). Lá vi que a fonte de configuração estava incorreta.

Albi
fonte
1

Além de verificar se as permissões são executáveis ​​para o grupo http (servidor Web), vale a pena verificar se a entrada 'open_basedir' no php.ini inclui o diretório em que config.inc.php está localizado, se estiver definido. Isso resolveu esse problema para mim.

tehanomalousone
fonte
1

Vá para a pasta phpmyadmin> procure por ' lint.php ' e defina as = 'require_once' libraries / config.inc.php ';

Definitivamente resolverá seu problema.

Se resolver o seu problema, então obrigado a mim.

shaan
fonte
1

Siga esses passos:

1) Vá para /etc/httpd/conf.d/phpmyadmin.conf

  • (verifique o caminho do phpMyAdmin na tag do diretório)

2) Vá para /usr/share/phpmyadmin, abraconf.inc.php

3) Adicione valor para blowfish_secret, como -

$cfg['blowfish_secret'] = 'mrgQxxk8C-y}U7ji2BO9o5jLf}Qhe-BI[~6SUa';/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

4) Salve e saia.

5) Limpar cache do navegador

6) Tente acessar com o URL: http://yourserver.com/phpmyadmin/index.php

Yoggesh Paatil
fonte
1

Só quero compartilhar isso. colocar

$cfg['blowfish_secret'] = 'fill this up';

Vá para a pasta phpmyadmin e procure por lint.php

e defina o

require_once 'common.inc.php';
rm_beginners
fonte
1

Se você editou o arquivo aqui: /usr/share/phpmyadmin/config.inc.php

E o problema não resolve, existe a possibilidade de você estar editando um arquivo errado. se você executar, whereis phpmyadmin -ldeve fornecer uma lista da localização do phpmyadmin no servidor.

Por que eu disse que você pode estar editando um arquivo errado é que, se você instalar o phpmyadmin var/www/phpmyadminou var/www/html/phpmyadminé aqui que você precisará editar o arquivo phpmyadmin/config.sample.inc.php.

Então tente o seguinte:

$ cd var/www/html/phpmyadmin
$ cp config.sample.inc.php config.inc.php

Edite isso do seu jeito e faça logout e login no phpmyadmin, você deve ficar bem.

ShapCyber
fonte
0

Adicionando senha com 32 símbolos entre colchetes $ cfg ['blowfish_secret'] = ''; me ajudou com outro arquivo dentro de /usr/share/phpmyadmin/libraries/config.default.php

Usando o debian 9 + ispconfig, o phpmyadmin instalado manualmente

Stanislav Kryvenko
fonte
0

No meu caso, foi um problema de proprietário / permissões, porque criei manualmente o link simbólico em um dos meus sites principais para apontar para /usr/share/phpmyadmin/que eu pudesse acessar o phpMyAdmin no FQDN https://myserver.mydomain.com/changedphpmyadmin, apenas via IP. Mas fazer isso também mudou o usuário da web; a navegação via IP é diferente da via FQDN, se este não for um domínio padrão.

Portanto, no meu caso, o usuário da web do meu FQDN não pôde ler /var/lib/phpmyadmin/blowfish_secret.inc.php, então simplesmente mudei o proprietário desse arquivo de root: www-data para web1: client1 no meu caso. Em seguida, teste e recarregue o nginx:

chown web1:client1 /var/lib/phpmyadmin/blowfish_secret.inc.php
nginx -t
systemctl reload nginx
Labsy
fonte
Não deveria haver necessidade de recarregar o nginx; não tem nada a ver com a execução de código PHP.
womble