Błąd phpMyAdmin - plik konfiguracyjny wymaga teraz tajnego hasła


Odpowiedzi:


39

To może pomóc, https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase

Jeśli po pierwszym zalogowaniu do / phpmyadmin zobaczysz następujący komunikat o błędzie na dole strony (używając wcześniej skonfigurowanej nazwy użytkownika i hasła MySQL):

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

Musisz dodać hasło blowfish do pliku konfiguracyjnego phpMyAdmina. Edytuj /etc/webapps/phpmyadmin/config.inc.php i wstaw losowe „hasło” blowfish

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

Powinien teraz wyglądać mniej więcej tak:

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

To wszystko zakłada, że ​​już poprawnie utworzyłeś plik konfiguracyjny,

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

Jak powiedziałem, ustawiłem już hasło i nadal nie działa.
jax

1
Być może edytowany plik konfiguracyjny nie jest aktywny? Ponieważ błąd wskazuje, że hasło nie jest ustawione.
user16081-JoeT

2
Mam ten sam problem ... Zmieniłem swój config.sample.inc.php plik config.inc.phpi dodałem do niego wspomniane $cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz';ustawienie, ale strona indeksu phpMyAdmin nadal narzeka, że ​​go brakuje! Jeśli jest szansa, że ​​ładuje inny plik, to nie wiem, gdzie i dlaczego plik? Jakieś pomysły ktoś, kto miał wcześniej ten problem?
JasonDavis,

1
@jondondavis sprawdź drugą odpowiedź; możesz mieć problem z uprawnieniami i musisz zmienić własność / grupę folderu konfiguracyjnego phpMyAdmin.
user16081-JoeT,

2
Możesz użyć „Tajnego generatora” na stronie internetowej pytanie-defense.com/tools/phpmyadmin-blowfish-secret-generator, aby uzyskać losowy kod, który powinien działać. Jest połączony w pager z postu user16081-JoeT. Następnie postępuj zgodnie z jego instrukcjami.
WebLuke

8

Pojawił się również błąd, The configuration file now needs a secret passphrase (blowfish_secret)gdy plik konfiguracyjny miał$cfg['blowfish_secret'] ustawiony. Używam CentOS v6 i zainstalowałem PHPMyAdmin z repozytorium EPEL przy użyciu yum. Instaluję nginx do obsługi PHPMyAdmin, a pakiet PHPMyAdmin (domyślnie) jest skonfigurowany do pracy z Apache. Plik konfiguracyjny znajduje się w /etc/phpMyAdmin/config.inc.php(można sprawdzić CONFIG_DIRw libraries/vendor_config.phpdowiedzieć się, gdzie znajduje się plik konfiguracyjny) i jeśli zauważy, użytkownik to root, a grupa jest apachedla pliku i katalogu. To powoduje, że PHPMyAdmin nie może odczytać pliku konfiguracyjnego. Aby rozwiązać ten problem, użyj, chownaby zmienić grupę na tę, na której działa twój serwer WWW (w moim przypadku jest to grupa nginx). Musisz zmienić właściciela zarówno katalogu ORAZ pliku konfiguracyjnego (jak pokazano poniżej).

chown -R root.nginx /etc/phpMyAdmin/

Pamiętaj, że może być konieczne powtórzenie tej czynności, jeśli PHPMyAdmin jest zaktualizowany. Możesz również mieć dalsze problemy z uprawnieniami, jeśli SELinux jest włączony.


Komentarze w /etc/phpmyadmin/config.inc.php: `* UWAGA: nie dodawaj danych wrażliwych dla bezpieczeństwa do tego pliku (takich jak hasła) *, chyba że naprawdę wiesz, co robisz. Jeśli to zrobisz, każdy użytkownik, który * może uruchomić PHP lub CGI na twoim serwerze, będzie mógł je odczytać. Jeśli nadal * chcesz to zrobić, upewnij się, że odpowiednio zabezpieczasz dostęp do tego pliku * (również na poziomie systemu plików). * / `
Buttle Butkus

Poniżej znajduje się następujący wiersz: include('/var/lib/phpmyadmin/blowfish_secret.inc.php');Więc poszedłem tam i zmieniłem grupę tego pliku na mojego użytkownika serwera WWW. Działa, ale nie wydaje się bardziej bezpieczne niż wprowadzenie hasła /etc/phpmyadmin/config.inc.php. Chyba nie można tam uruchomić PHP? Jednak rozwiązało to problem. Więc chyba przejdę przez most ataku hakerskiego, kiedy do niego dojdę.
Buttle Butkus

Domyślna lokalizacja pod CONFIG_DIR to ./config/config.inc.php. Ponieważ mam ten plik poza tym katalogiem, aby móc łatwiej zamieniać wersje, musiałem tylko utworzyć dowiązanie symboliczne dla tego pliku do mojej lokalizacji, a wiadomość odeszła. ln -s ../../../config.inc.php config.inc.php
MECU

+1 Za konieczność ustawienia uprawnień do /etc/phpMyAdminkatalogu, a nie tylko config.inc.phppliku w nim zawartego.
jxmallett

5

miałem

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

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

Powinno być:

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

(dodano ukośnik)


2

Najnowsza wersja phpmyadmin nie tworzy pliku konfiguracyjnego po instalacji. Dostępny jest przykładowy plik konfiguracyjny, a rzeczywisty domyślny plik konfiguracyjny jest głębiej w drzewie folderów.

Pamiętaj, że tajemnica blowfish musi mieć dokładnie 32 znaki, w przeciwnym razie nie zostanie zastosowana.

Skopiuj plik przykładowy, aby utworzyć faktycznie używany plik, który zastępuje wartości domyślne. Katalog pokazany poniżej jest tylko przykładem, dlatego użyj katalogu / ścieżki do instalacji phpmyadmin, która ma zastosowanie.

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

W górnej części pliku znajduje się zmienna blowfish, którą należy ustawić. Dodaj 32 losowe znaki do wartości zmiennej, a następnie zapisz plik.

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

W tym wątku nie czytałem nikogo wspominającego o regule 32 znaków. Być może taki był problem PO.


2

W moim przypadku zaktualizowałem PHPMyAdmin ręcznie, ponieważ wersja w repozytorium nie działała dobrze z PHP 7.2. Wykonałem wszystkie kroki w trybie online, ale popełniłem błąd w katalogu /usr/share/phpmyadmin/libraries/vendor_config.php.

Linia: define('CONFIG_DIR', '/etc/phpmyadmin/');brakowało /na końcu. Dowiedziałem się tego poprzez ręczną edycję bibliotek / klas / Config.php i na początku function load($source)zrobiłem die($source). Tam zobaczyłem, że źródło konfiguracji było niepoprawne.


1

Oprócz sprawdzania uprawnień można wykonać dla grupy http (serwer WWW), warto sprawdzić, czy pozycja „open_basedir” w php.ini zawiera katalog, w którym znajduje się config.inc.php, jeśli jest ustawiony. To wyleczyło mnie z tego problemu.


1

Idź do folderu phpmyadmin> wyszukaj „ lint.php ” i ustaw biblioteki = „requ_once” / config.inc.php ”;

To na pewno rozwiąże twój problem.

Jeśli to rozwiąże twój problem, to dzięki mnie.


1

Wykonaj następujące kroki:

1) Idź do /etc/httpd/conf.d/phpmyadmin.conf

  • (sprawdź ścieżkę phpMyAdmin w znaczniku katalogu)

2) Idź do /usr/share/phpmyadmin, otwórzconf.inc.php

3) Dodaj wartość dla blowfish_secret, na przykład -

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

4) Zapisz i wyjdź.

5) Wyczyść pamięć podręczną przeglądarki

6) Spróbuj uzyskać dostęp za pomocą adresu URL: http://yourserver.com/phpmyadmin/index.php


1

Po prostu chcę to udostępnić. położyć

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

Przejdź do folderu phpmyadmin i wyszukaj lint.php

i ustaw

require_once 'common.inc.php';

1

Jeśli edytowałeś plik tutaj: /usr/share/phpmyadmin/config.inc.php

Problem nie został rozwiązany, istnieje możliwość edycji niewłaściwego pliku. jeśli uruchomisz whereis phpmyadmin -lto powinno dać ci listę lokalizacji phpmyadmin na serwerze.

Dlaczego powiedziałem, że edytujesz niewłaściwy plik, to dlatego, że jeśli instalujesz phpmyadmin w tym miejscu var/www/phpmyadminlub var/www/html/phpmyadminwłaśnie tam musisz go edytować phpmyadmin/config.sample.inc.php.

Spróbuj tego:

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

Edytuj to na swój sposób i wyloguj się i zaloguj phpmyadmin, powinieneś mieć się dobrze.


0

Dodanie hasła z 32 symbolami w nawiasach $ cfg ['blowfish_secret'] = ''; pomógł mi znaleźć inny plik w katalogu /usr/share/phpmyadmin/libraries/config.default.php

Przy użyciu debian 9 + ispconfig, ręcznie zainstalowany phpmyadmin


0

W moim przypadku był to problem właściciela / uprawnień, ponieważ ręcznie utworzyłem dowiązanie symboliczne w jednej z moich głównych stron internetowych, aby wskazywać, aby /usr/share/phpmyadmin/uzyskać dostęp do phpMyAdmin z FQDN https://myserver.mydomain.com/changedphpmyadmin zamiast tylko przez IP. Ale zmieniło to także użytkownika sieci; przeglądanie przez IP różni się od FQDN, jeśli nie jest to domena domyślna.

Więc w moim przypadku użytkownik mojej FQDN nie mógł odczytać /var/lib/phpmyadmin/blowfish_secret.inc.php, więc po prostu zmieniłem właściciela tego pliku z root: www-data na web1: client1 w moim przypadku. Następnie przetestuj i ponownie załaduj nginx:

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

Nie powinno być potrzeby ponownego ładowania nginx; nie ma to nic wspólnego z wykonywaniem kodu PHP.
womble
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.