Erreur phpMyAdmin - Le fichier de configuration a maintenant besoin d'une phrase secrète secrète

29

Je reçois toujours une erreur "Le fichier de configuration a maintenant besoin d'une phrase secrète secrète" après l'installation de phpmyadmin. J'ai défini la phrase secrète et j'ai également suivi les instructions présentées sur /server/291490/phpmyadmin-not-allowing-users-to-log-on mais cela ne semble pas fonctionner. J'utilise AMI et j'ai également piraté le propriétaire et les autorisations. Merci de bien vouloir aider.

jax
la source

Réponses:

39

Cela pourrait aider, https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase

Si vous voyez le message d'erreur suivant au bas de la page lorsque vous vous connectez pour la première fois à / phpmyadmin (en utilisant un nom d'utilisateur et un mot de passe MySQL précédemment configurés):

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

Vous devez ajouter un mot de passe Blowfish au fichier de configuration de phpMyAdmin. Modifiez /etc/webapps/phpmyadmin/config.inc.php et insérez un "mot de passe" Blowfish aléatoire dans la ligne

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

Il devrait maintenant ressembler à ceci:

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

Tout cela suppose que vous avez déjà correctement créé le fichier de configuration,

cp config.sample.inc.php config.inc.php
user16081-JoeT
la source
Comme je l'ai dit, j'ai déjà défini la phrase secrète et ne fonctionne toujours pas.
jax
1
Peut-être que le fichier de configuration que vous avez modifié n'est pas le fichier actif? Parce que l'erreur indique que la phrase secrète n'est pas définie.
user16081-JoeT
2
J'ai ce même problème ... J'ai changé mon config.sample.inc.phpfichier config.inc.phpet y ai ajouté le $cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz';paramètre mentionné mais la page d'index de phpMyAdmin se plaint toujours qu'il manque! S'il y a une chance qu'il charge un fichier différent, alors je ne sais pas où ni pourquoi le fichier se trouve? Des idées quelqu'un qui a déjà eu ce problème?
JasonDavis
1
@jasondavis cochez l'autre réponse; vous pouvez avoir un problème d'autorisations et devez changer la propriété / le groupe de votre dossier de configuration phpMyAdmin.
user16081-JoeT
2
Vous pouvez utiliser le "Générateur secret" sur question-defense.com/tools/phpmyadmin-blowfish-secret-generator pour obtenir un code aléatoire qui devrait fonctionner. Son lié dans un pager du poteau user16081-JoeT. Suivez ensuite ses instructions.
WebLuke
8

J'obtenais également l'erreur The configuration file now needs a secret passphrase (blowfish_secret)lorsque le fichier de configuration avait été $cfg['blowfish_secret']défini. J'utilise CentOS v6 et j'ai installé PHPMyAdmin à partir du référentiel EPEL en utilisant yum. J'ai configuré nginx pour héberger PHPMyAdmin et le package PHPMyAdmin (par défaut) est configuré pour fonctionner avec Apache. Le fichier de configuration est situé à /etc/phpMyAdmin/config.inc.php(vous pouvez vérifier CONFIG_DIRdans libraries/vendor_config.phppour trouver où votre fichier de configuration se trouve) et si vous remarquez, l'utilisateur est root et le groupe est apachele fichier et le répertoire. Cela empêche PHPMyAdmin de lire le fichier de configuration. Pour résoudre ce problème, utilisez chownpour remplacer le groupe par celui qui exécute votre serveur Web (dans mon cas, le groupe l'est nginx). Vous devrez changer le propriétaire du répertoire ET du fichier de configuration (comme indiqué ci-dessous).

chown -R root.nginx /etc/phpMyAdmin/

Notez que vous devrez peut-être recommencer si PHPMyAdmin est mis à jour. Vous pouvez également rencontrer d'autres problèmes avec les autorisations si SELinux est activé.

ub3rst4r
la source
Commentaires dans /etc/phpmyadmin/config.inc.php: `* REMARQUE: n'ajoutez pas de données sensibles à la sécurité à ce fichier (comme les mots de passe) * sauf si vous savez vraiment ce que vous faites. Si vous le faites, tout utilisateur qui peut * exécuter PHP ou CGI sur votre serveur Web pourra les lire. Si vous * voulez toujours le faire, assurez-vous de sécuriser correctement l'accès à ce fichier * (également au niveau du système de fichiers). * / `
Buttle Butkus
En dessous, il a cette ligne: include('/var/lib/phpmyadmin/blowfish_secret.inc.php');Donc, je suis allé là-bas et j'ai changé le groupe de ce fichier en mon utilisateur de serveur Web. Cela fonctionne, mais ne semble pas plus sûr que de saisir le mot de passe /etc/phpmyadmin/config.inc.php. Je suppose que PHP ne peut pas y être exécuté? Cela a cependant résolu le problème. Donc je suppose que je franchirai le pont d'attaque de hack quand j'y arriverai.
Buttle Butkus
L'emplacement par défaut sous CONFIG_DIR est ./config/config.inc.php. Étant donné que j'ai ce fichier en dehors de ce répertoire afin que je puisse échanger des versions plus facilement, j'avais juste besoin de créer un lien symbolique pour ce fichier vers mon emplacement et le message est parti pour moi. ln -s ../../../config.inc.php config.inc.php
MECU
+1 Pour avoir besoin de définir des autorisations sur le /etc/phpMyAdminrépertoire, et pas seulement sur le config.inc.phpfichier qu'il contient.
jxmallett
5

j'ai eu

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

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

CA devrait etre:

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

(barre oblique ajoutée)

Marcel Molenaar
la source
2

La dernière version de phpmyadmin ne crée pas le fichier de configuration après l'installation. Il existe un exemple de fichier de configuration disponible et un fichier de configuration par défaut réel plus en profondeur dans l'arborescence des dossiers.

Notez que le secret de Blowfish doit être exactement de 32 caractères sinon il ne sera pas appliqué.

Copiez l'exemple de fichier pour créer le fichier réellement utilisé qui remplace les valeurs par défaut. Le répertoire ci-dessous n'est qu'un exemple, utilisez donc le répertoire / chemin pour votre installation phpmyadmin qui s'applique.

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

En haut du fichier se trouve la variable Blowfish qui doit être définie. Ajoutez 32 caractères aléatoires à la valeur de la variable, puis enregistrez le fichier.

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

Je n'ai lu personne mentionnant la règle des 32 caractères dans ce fil. C'était peut-être le problème du PO.

D Moreau
la source
2

Dans mon cas, j'ai mis à jour PHPMyAdmin manuellement car la version du référentiel ne fonctionnait pas bien avec PHP 7.2. J'ai suivi toutes les étapes en ligne, mais j'avais fait une erreur dans /usr/share/phpmyadmin/libraries/vendor_config.php.

La ligne: define('CONFIG_DIR', '/etc/phpmyadmin/');il manquait un /à la fin. J'ai découvert cela en éditant manuellement bibliothèques / classes / Config.php et au début function load($source)j'ai fait un die($source). Là, j'ai vu que la source de configuration était incorrecte.

Albi
la source
1

En plus de vérifier que les autorisations sont exécutables pour le groupe http (serveur Web), il vaut la peine de vérifier que l'entrée 'open_basedir' dans php.ini inclut le répertoire où se trouve config.inc.php s'il est défini. Cela a guéri ce problème pour moi.

tehanomalousone
la source
1

Allez dans le dossier phpmyadmin> recherchez ' lint.php ' et définissez = 'require_once' bibliothèques / config.inc.php ';

Cela résoudra définitivement votre problème.

Si cela résout votre problème, merci à moi.

shaan
la source
1

Suivez ces étapes:

1) Allez à /etc/httpd/conf.d/phpmyadmin.conf

  • (vérifiez le chemin de phpMyAdmin dans la balise d'annuaire)

2) Allez dans /usr/share/phpmyadmin, ouvrezconf.inc.php

3) Ajoutez de la valeur pour blowfish_secret, comme -

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

4) Enregistrer et quitter.

5) Vider le cache du navigateur

6) Essayez d'accéder avec l'URL: http://yourserver.com/phpmyadmin/index.php

Yoggesh Paatil
la source
1

Je veux juste partager ça. mettre

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

Accédez au dossier phpmyadmin et recherchez lint.php

et définissez le

require_once 'common.inc.php';
rm_beginners
la source
1

Si vous avez modifié le fichier ici: /usr/share/phpmyadmin/config.inc.php

Et le problème n'est pas résolu, il y a une possibilité que vous éditiez un mauvais fichier. si tu courswhereis phpmyadmin -l cela devrait vous donner la liste de l'emplacement de phpmyadmin sur le serveur.

Pourquoi j'ai dit que vous modifiez peut-être un mauvais fichier, c'est que si vous installez votre phpmyadmin dans var/www/phpmyadminou var/www/html/phpmyadminc'est là que vous devez modifier lephpmyadmin/config.sample.inc.php .

Essayez donc ceci:

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

Modifiez cela à votre façon et déconnectez-vous et connectez-vous phpmyadmin, vous devriez aller bien.

ShapCyber
la source
0

Ajout d'un mot de passe avec 32 symboles entre crochets $ cfg ['blowfish_secret'] = ''; m'a aidé pour un autre fichier dans /usr/share/phpmyadmin/libraries/config.default.php

En utilisant debian 9 + ispconfig, phpmyadmin installé manuellement

Stanislav Kryvenko
la source
0

Dans mon cas, c'était un problème de propriétaire / autorisations, car j'ai créé manuellement un lien symbolique dans l'un de mes sites Web principaux pour pointer vers /usr/share/phpmyadmin/afin que je puisse accéder à phpMyAdmin à partir du nom de domaine complet https://myserver.mydomain.com/changedphpmyadmin place via IP uniquement. Mais cela a également changé l'internaute; la navigation via IP est différente de celle via FQDN, s'il ne s'agit pas du domaine par défaut.

Donc, dans mon cas, l'internaute de mon nom de domaine complet n'a pas pu lire /var/lib/phpmyadmin/blowfish_secret.inc.php, j'ai donc simplement changé le propriétaire de ce fichier de root: www-data à web1: client1 dans mon cas. Ensuite, testez et rechargez nginx:

chown web1:client1 /var/lib/phpmyadmin/blowfish_secret.inc.php
nginx -t
systemctl reload nginx
Labsy
la source
Il n'aurait pas dû être nécessaire de recharger nginx; cela n'a rien à voir avec l'exécution de code PHP.
womble