Errore phpMyAdmin - Il file di configurazione ora necessita di una passphrase segreta


29

Continuo a ricevere un errore "Il file di configurazione ora necessita di una passphrase segreta" dopo l'installazione di phpmyadmin. Ho impostato la passphrase e ho anche seguito le istruzioni presentate su https://serverfault.com/questions/291490/phpmyadmin-not-allowing-users-to-log-on ma non sembra funzionare. Sto usando l'AMI e chck anche il proprietario e le autorizzazioni. Si prega gentilmente di aiutare.

Risposte:


39

Questo potrebbe aiutare, https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase

Se visualizzi il seguente messaggio di errore nella parte inferiore della pagina quando accedi per la prima volta a / phpmyadmin (utilizzando un nome utente e una password MySQL precedentemente configurati):

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

Devi aggiungere una password blowfish al file di configurazione di phpMyAdmin. Modifica /etc/webapps/phpmyadmin/config.inc.php e inserisci una "password" di blowfish casuale nella riga

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

Ora dovrebbe assomigliare a questo:

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

Tutto questo presuppone che tu abbia già creato correttamente il file di configurazione,

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

Come ho già detto, ho già impostato la passphrase e ancora non funziona.
jax,

1
Forse il file di configurazione che hai modificato non è quello attivo? Perché l'errore indica che la passphrase non è impostata.
user16081-JoeT

2
Ho questo stesso problema ... Ho cambiato il mio config.sample.inc.phpfile config.inc.phpe ho aggiunto l' $cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz';impostazione menzionata , ma la pagina dell'indice phpMyAdmin si lamenta ancora che manca! Se qualche possibilità sta caricando un file diverso, allora non so dove o perché il file sia? Qualche idea su chiunque abbia avuto questo problema prima?
JasonDavis

1
@jasondavis controlla l'altra risposta; potresti avere un problema con le autorizzazioni e devi cambiare la proprietà / il gruppo della tua cartella di configurazione di phpMyAdmin.
user16081-JoeT

2
Puoi usare "Secret Generator" su question-defense.com/tools/phpmyadmin-blowfish-secret-generator per ottenere un codice casuale che dovrebbe funzionare. È collegato in un cercapersone dal post user16081-JoeT. Quindi seguire le sue istruzioni.
WebLuke,

8

Stavo anche ricevendo l'errore The configuration file now needs a secret passphrase (blowfish_secret)quando il file di configurazione era $cfg['blowfish_secret']impostato. Sto usando CentOS v6 e ho installato PHPMyAdmin dal repository EPEL usando yum. Ho installato nginx per ospitare PHPMyAdmin e il pacchetto PHPMyAdmin (per impostazione predefinita) è configurato per funzionare con Apache. Il file di configurazione si trova in /etc/phpMyAdmin/config.inc.php(è possibile effettuare il check- CONFIG_DIRin libraries/vendor_config.phpper trovare dove si trova il file di configurazione) e, se si nota, l'utente è root e il gruppo è apacheper il file e la directory. Questo fa sì che PHPMyAdmin non sia in grado di leggere il file di configurazione. Per risolvere questo problema, usa chownper cambiare il gruppo con quello che sta eseguendo il tuo server web (nel mio caso, il gruppo è nginx). Dovrai cambiare il proprietario sia per la directory che per il file di configurazione (come mostrato sotto).

chown -R root.nginx /etc/phpMyAdmin/

Nota che potresti dover ripetere l'operazione se PHPMyAdmin viene aggiornato. Potresti avere ulteriori problemi con le autorizzazioni se SELinux è abilitato.


Commenti in /etc/phpmyadmin/config.inc.php: `* NOTA: non aggiungere dati sensibili alla sicurezza a questo file (come le password) * a meno che tu non sappia davvero cosa stai facendo. Se lo fai, qualsiasi utente che può * eseguire PHP o CGI sul tuo server web sarà in grado di leggerli. Se vuoi ancora * fare questo, assicurati di proteggere adeguatamente l'accesso a questo file * (anche a livello di filesystem). * / `
Buttle Butkus,

Al di sotto di questo, ha questa linea: include('/var/lib/phpmyadmin/blowfish_secret.inc.php');così sono andato lì e ho cambiato il gruppo di quel file con il mio utente webserver. Funziona, ma non sembra più sicuro che inserire la password /etc/phpmyadmin/config.inc.php. Immagino che forse PHP non possa essere eseguito lì? Ha risolto il problema, però. Quindi immagino che attraverserò il ponte di attacco hack quando ci arrivo.
Buttle Butkus,

Il percorso predefinito in CONFIG_DIR è ./config/config.inc.php. Dato che ho questo file al di fuori di questa directory in modo da poter scambiare le versioni più facilmente, ho solo bisogno di creare un link simbolico per questo file nella mia posizione e il messaggio è andato via per me. ln -s ../../../config.inc.php config.inc.php
MECU,

+1 Per la necessità di impostare le autorizzazioni sulla /etc/phpMyAdmindirectory e non solo il config.inc.phpfile in essa contenuto.
jxmallett,

5

avevo

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

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

Dovrebbe essere:

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

(barra aggiunta)


2

L'ultima versione di phpmyadmin non crea il file di configurazione dopo l'installazione. È disponibile un file di configurazione di esempio e un file di configurazione predefinito effettivo più in profondità nell'albero delle cartelle.

Si noti che il segreto del pesce palla deve contenere esattamente 32 caratteri altrimenti non verrà applicato.

Copia il file di esempio per creare il file effettivamente utilizzato che sostituisce le impostazioni predefinite. La directory mostrata sotto è solo un esempio, quindi usa la directory / path per la tua installazione phpmyadmin che si applica.

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

Nella parte superiore del file è presente la variabile blowfish che deve essere impostata. Aggiungi 32 caratteri casuali al valore della variabile e quindi salva il file.

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

Non ho letto nessuno che menzionasse la regola dei 32 caratteri in questo thread. Forse quello era il problema per il PO.


2

Nel mio caso, ho aggiornato manualmente PHPMyAdmin perché la versione nel repository non si comportava bene con PHP 7.2. Ho seguito tutti i passaggi online, ma avevo commesso un errore in /usr/share/phpmyadmin/libraries/vendor_config.php.

La linea: define('CONFIG_DIR', '/etc/phpmyadmin/');mancava un /alla fine. L'ho scoperto modificando manualmente librerie / classi / Config.php e all'inizio di function load($source)ho fatto un die($source). Lì ho visto che l'origine della configurazione era errata.


1

Oltre a verificare che le autorizzazioni siano eseguibili per il gruppo http (web server), vale la pena verificare che la voce 'open_basedir' in php.ini includa la directory in cui si trova config.inc.php se è impostata. Questo ha risolto questo problema per me.


1

Vai alla cartella phpmyadmin> cerca ' lint.php ' e imposta le librerie = ' request_once ' = librerie / config.inc.php ';

Risolverà sicuramente il tuo problema.

Se risolve il tuo problema, grazie a me.


1

Segui questi passi:

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

  • (controlla il percorso di phpMyAdmin nel tag della directory)

2) Vai a /usr/share/phpmyadmin, apriconf.inc.php

3) Aggiungi valore per blowfish_secret, come -

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

4) Salva ed esci.

5) Cancella la cache del browser

6) Prova ad accedere con url: http://yourserver.com/phpmyadmin/index.php


1

Voglio solo condividere questo. mettere

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

Vai alla cartella phpmyadmin e cerca lint.php

e imposta il

require_once 'common.inc.php';

1

Se hai modificato il file qui: /usr/share/phpmyadmin/config.inc.php

E il problema non si risolve, c'è la possibilità che tu stia modificando il file sbagliato. se lo esegui whereis phpmyadmin -ldovrebbe darti un elenco di posizioni phpmyadmin sul server.

Il motivo per cui ho detto che potresti modificare il file sbagliato è che se installi phpmyadmin var/www/phpmyadmino var/www/html/phpmyadminè qui che devi modificare il file phpmyadmin/config.sample.inc.php.

Quindi prova questo:

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

Modificalo a modo tuo e disconnettiti e accedi a phpmyadmin dovresti andare bene.


0

Aggiunta della password con 32 simboli tra parentesi $ cfg ['blowfish_secret'] = ''; mi ha aiutato per un altro file all'interno di /usr/share/phpmyadmin/libraries/config.default.php

Usando debian 9 + ispconfig, phpmyadmin installato manualmente


0

Nel mio caso si trattava di un problema di proprietario / autorizzazioni, perché ho creato manualmente un link simbolico in uno dei miei siti Web principali in /usr/share/phpmyadmin/modo da poter accedere a phpMyAdmin da FQDN https://myserver.mydomain.com/changedphpmyadmin invece solo tramite IP. Ma così facendo anche l'utente web è cambiato; la navigazione tramite IP è diversa da quella tramite FQDN, se questo non è un dominio predefinito.

Quindi nel mio caso l'utente web del mio nome di dominio completo non è riuscito a leggere /var/lib/phpmyadmin/blowfish_secret.inc.php, quindi ho semplicemente cambiato il proprietario di questo file da root: www-data a web1: client1 nel mio caso. Quindi testare e ricaricare nginx:

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

Non avrebbe dovuto essere necessario ricaricare nginx; non ha nulla a che fare con l'esecuzione del codice PHP.
Womble
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.