Error de phpMyAdmin: el archivo de configuración ahora necesita una frase secreta


29

Sigo recibiendo un error "El archivo de configuración ahora necesita una frase secreta" después de la instalación de phpmyadmin. Establecí la frase de contraseña y también seguí las instrucciones presentadas en https://serverfault.com/questions/291490/phpmyadmin-not-allowing-users-to-log-on pero parece que no funciona. Estoy usando AMI y compruebo el propietario y los permisos también. Por favor amablemente ayuda.

Respuestas:


39

Esto podría ayudar, https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase

Si ve el siguiente mensaje de error en la parte inferior de la página cuando inicia sesión por primera vez en / phpmyadmin (utilizando un nombre de usuario y contraseña de MySQL previamente configurados):

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

Debe agregar una contraseña de blowfish al archivo de configuración de phpMyAdmin. Edite /etc/webapps/phpmyadmin/config.inc.php e inserte una "contraseña" aleatoria de blowfish en la línea

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

Ahora debería verse más o menos así:

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

Todo esto supone que ya ha creado correctamente el archivo de configuración,

cp config.sample.inc.php config.inc.php

Como dije, ya configuré la frase de contraseña y aún no funciona.
jax

1
¿Quizás el archivo de configuración que ha editado no es el activo? Porque el error indica que la frase de contraseña no está establecida.
user16081-JoeT

2
Tengo este mismo problema ... Cambié mi config.sample.inc.phparchivo config.inc.phpy agregué la $cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz';configuración mencionada , pero la página de índice phpMyAdmin todavía se queja de que falta. Si hay alguna posibilidad de que esté cargando un archivo diferente, entonces no sé dónde o por qué está el archivo. ¿Alguna idea de alguien que haya tenido este problema antes?
JasonDavis

1
@jasondavis verifica la otra respuesta; Es posible que tenga un problema de permisos y necesite cambiar la propiedad / grupo de su carpeta de configuración phpMyAdmin.
user16081-JoeT

2
Puede usar el "Generador secreto" en question-defense.com/tools/phpmyadmin-blowfish-secret-generator para obtener un código aleatorio que debería funcionar. Está vinculado en un buscapersonas de la publicación user16081-JoeT. Luego sigue sus instrucciones.
WebLuke

8

También recibí el error The configuration file now needs a secret passphrase (blowfish_secret)cuando se configuró el archivo de $cfg['blowfish_secret']configuración. Estoy usando CentOS v6 e instalé PHPMyAdmin desde el repositorio EPEL usando yum. Configuré nginx para alojar PHPMyAdmin y el paquete PHPMyAdmin (por defecto) está configurado para funcionar con Apache. El archivo de configuración se encuentra en /etc/phpMyAdmin/config.inc.php(se puede comprobar CONFIG_DIRen libraries/vendor_config.phpencontrar donde se encuentra el archivo de configuración) y si te fijas, el usuario es root y el grupo es apachepara el archivo y directorio. Esto hace que PHPMyAdmin no pueda leer el archivo de configuración. Para solucionar este problema, use chownpara cambiar el grupo al que ejecuta su servidor web (en mi caso, el grupo es nginx). Deberá cambiar el propietario tanto del directorio como del archivo de configuración (como se muestra a continuación).

chown -R root.nginx /etc/phpMyAdmin/

Tenga en cuenta que es posible que deba volver a hacer esto si se actualiza PHPMyAdmin. También puede tener más problemas con los permisos si SELinux está habilitado.


Comentarios en /etc/phpmyadmin/config.inc.php: `* NOTA: no agregue datos confidenciales de seguridad a este archivo (como contraseñas) * a menos que realmente sepa lo que está haciendo. Si lo hace, cualquier usuario que pueda * ejecutar PHP o CGI en su servidor web podrá leerlos. Si todavía * desea hacer esto, asegúrese de asegurar adecuadamente el acceso a este archivo * (también en el nivel del sistema de archivos). * / `
Buttle Butkus

Debajo de eso, tiene esta línea: include('/var/lib/phpmyadmin/blowfish_secret.inc.php');así que fui allí y cambié el grupo de ese archivo a mi usuario de servidor web. Funciona, pero no parece más seguro que ingresar la contraseña /etc/phpmyadmin/config.inc.php. Supongo que tal vez PHP no se puede ejecutar allí? Sin embargo, solucionó el problema. Así que supongo que cruzaré el puente de ataque de hack cuando llegue a él.
Buttle Butkus

La ubicación predeterminada debajo de CONFIG_DIR es ./config/config.inc.php. Como tengo este archivo fuera de este directorio para poder intercambiar versiones más fácilmente, solo necesitaba crear un enlace simbólico para este archivo en mi ubicación y el mensaje desapareció para mí. ln -s ../../../config.inc.php config.inc.php
MECU

+1 Por la necesidad de establecer permisos en el /etc/phpMyAdmindirectorio, y no solo el config.inc.phparchivo que contiene.
jxmallett

5

yo tenía

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

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

Debería ser:

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

(barra diagonal añadida)


2

La última versión de phpmyadmin no crea el archivo de configuración después de la instalación. Hay un archivo de configuración de ejemplo disponible y un archivo de configuración predeterminado real más profundo en el árbol de carpetas.

Tenga en cuenta que el secreto del pez globo debe tener exactamente 32 caracteres de longitud, de lo contrario no se aplicará.

Copie el archivo de ejemplo para crear el archivo utilizado real que anula los valores predeterminados. El directorio que se muestra a continuación es solo un ejemplo, por lo tanto, use el directorio / ruta para la instalación de phpmyadmin que corresponda.

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

En la parte superior del archivo se encuentra la variable blowfish que debe configurarse. Agregue 32 caracteres aleatorios al valor de la variable y luego guarde el archivo.

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

No leí a nadie que mencionara la regla de los 32 caracteres en este hilo. Quizás ese era el problema para el OP.


2

En mi caso, actualicé PHPMyAdmin manualmente porque la versión en el repositorio no funcionaba bien con PHP 7.2. Seguí todos los pasos en línea, pero cometí un error en /usr/share/phpmyadmin/libraries/vendor_config.php.

La línea: define('CONFIG_DIR', '/etc/phpmyadmin/');faltaba un /al final. Descubrí esto editando manualmente las bibliotecas / clases / Config.php y al principio function load($source)hice un die($source). Allí vi que la fuente de configuración era incorrecta.


1

Además de verificar que los permisos son ejecutables para el grupo http (servidor web), vale la pena verificar que la entrada 'open_basedir' en php.ini incluye el directorio donde se encuentra config.inc.php si está configurado. Esto curó este problema para mí.


1

Vaya a la carpeta phpmyadmin> busque ' lint.php ' y configure las bibliotecas / config.inc.php ' = ' require_once ';

Definitivamente resolverá su problema.

Si resuelve tu problema, entonces gracias a mí.


1

Sigue estos pasos:

1) Ir a /etc/httpd/conf.d/phpmyadmin.conf

  • (verifique la ruta de phpMyAdmin en la etiqueta del directorio)

2) Ir a /usr/share/phpmyadmin, abrirconf.inc.php

3) Agregue valor para blowfish_secret, como -

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

4) Guardar y salir.

5) Borrar caché del navegador

6) Intenta acceder con url: http://yourserver.com/phpmyadmin/index.php


1

Solo quiero compartir esto. poner

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

Vaya a la carpeta phpmyadmin y busque lint.php

y establecer el

require_once 'common.inc.php';

1

Si ha editado el archivo aquí: /usr/share/phpmyadmin/config.inc.php

Y el problema no se resuelve, existe la posibilidad de que esté editando un archivo incorrecto. si ejecuta whereis phpmyadmin -leso debería darle una lista de la ubicación de phpmyadmin en el servidor.

La razón por la que dije que puede estar editando un archivo incorrecto es que si instala su phpmyadmin var/www/phpmyadmino var/www/html/phpmyadminaquí es donde debe editarlo phpmyadmin/config.sample.inc.php.

Así que prueba esto:

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

Edite esto a su manera y cierre sesión e ingrese phpmyadmin, debería estar bien.


0

Agregar contraseña con 32 símbolos entre corchetes $ cfg ['blowfish_secret'] = ''; me ayudó para otro archivo dentro de /usr/share/phpmyadmin/libraries/config.default.php

Usando debian 9 + ispconfig, phpmyadmin instalado manualmente


0

En mi caso, fue un problema de propietario / permisos, porque creé manualmente un enlace simbólico en uno de mis sitios web principales para /usr/share/phpmyadmin/poder acceder a phpMyAdmin desde FQDN https://myserver.mydomain.com/changedphpmyadmin en su lugar solo a través de IP. Pero hacerlo también cambió el usuario de la web; la navegación a través de IP es diferente que a través de FQDN, si este no es el dominio predeterminado.

Entonces, en mi caso, el usuario web de mi FQDN no podía leer /var/lib/phpmyadmin/blowfish_secret.inc.php, así que simplemente cambié el propietario de este archivo de root: www-data a web1: client1 en mi caso. Luego prueba y recarga nginx:

chown web1:client1 /var/lib/phpmyadmin/blowfish_secret.inc.php
nginx -t
systemctl reload nginx

No debería haber sido necesario volver a cargar nginx; No tiene nada que ver con la ejecución de código PHP.
womble
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.