Помилка phpMyAdmin - файл конфігурації тепер потребує секретної парольної фрази


29

Я продовжую отримувати помилку "Файл конфігурації тепер потребує таємної парольної фрази" після установки phpmyadmin. Я встановив парольну фразу, а також дотримувався інструкції, представленої на https://serverfault.com/questions/291490/phpmyadmin-not-allowing-users-to-log-on, але це, здається, не працює. Я використовую AMI і перевірив власника та дозволи. Будь ласка, допоможіть.

Відповіді:


39

Це може допомогти, https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase

Якщо ви бачите таке повідомлення про помилку внизу сторінки під час першого входу в / phpmyadmin (використовуючи раніше встановлене ім’я користувача та пароль MySQL):

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

Потрібно додати пароль конфігурації до файлу конфігурації phpMyAdmin. Відредагуйте /etc/webapps/phpmyadmin/config.inc.php та вставте у рядок випадковий "пароль" "

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

Тепер це має виглядати приблизно так:

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

Це все передбачає, що ви вже правильно створили конфігураційний файл,

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

Як я вже сказав, я вже встановив парольну фразу і все ще не працює.
jax

1
Можливо, редагований файл, який ви відредагували, не є активним? Оскільки помилка вказує на те, що пароль не задано.
user16081-JoeT

2
У мене є ця сама проблема ... Я змінив config.sample.inc.phpфайл config.inc.phpі додав до нього згадані $cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz';налаштування, але сторінка індексу phpMyAdmin все ще скаржиться, що він відсутній! Якщо є певний шанс, що це завантаження іншого файлу, то я не знаю, де або чому цей файл? Будь-які ідеї у кого-небудь, хто мав цю проблему раніше?
JasonDavis

1
@jasondavis перевірити іншу відповідь; у вас може виникнути проблема з дозволом, і вам потрібно змінити право власності / групу вашої конфігураційної папки phpMyAdmin.
user16081-JoeT

2
Ви можете скористатися "Секретним генератором" на question-defense.com/tools/phpmyadmin-blowfish-secret-generator, щоб отримати випадковий код, який повинен працювати. Її пов’язано в пейджері від користувача user16081-JoeT. Потім дотримуйтесь його вказівок.
WebLuke

8

Я також отримував помилку, The configuration file now needs a secret passphrase (blowfish_secret)коли був встановлений файл конфігурації $cfg['blowfish_secret']. Я використовую CentOS v6, і я встановив PHPMyAdmin з репортажу EPEL за допомогою yum. Я встановлюю nginx для розміщення PHPMyAdmin, і пакет PHPMyAdmin (за замовчуванням) налаштований на роботу з Apache. Файл конфігурації знаходиться в /etc/phpMyAdmin/config.inc.php(ви можете перевірити CONFIG_DIRв , libraries/vendor_config.phpщоб знайти , де ваш конфігураційний файл знаходиться) , і якщо ви помітили, користувач корінь і група apacheдля файлів і каталогів. Це призводить до того, що PHPMyAdmin не зможе прочитати файл конфігурації. Щоб виправити цю проблему, використовуйте chownдля зміни групи на ту, на якій працює ваш веб-сервер (у моєму випадку це група nginx). Вам потрібно буде змінити власника обох файлів каталогу та конфігурації каталогу (як показано нижче).

chown -R root.nginx /etc/phpMyAdmin/

Зауважте, що вам може знадобитися зробити це ще раз, якщо PHPMyAdmin буде оновлено. Ви також можете мати додаткові проблеми з дозволами, якщо SELinux увімкнено.


Коментарі в /etc/phpmyadmin/config.inc.php: `* ПРИМІТКА: не додайте до цього файлу дані щодо безпеки (наприклад, паролі) *, якщо ви дійсно не знаєте, що робите. Якщо це зробити, будь-який користувач, який може * запустити PHP або CGI на своєму веб-сервері, зможе їх прочитати. Якщо ви все ще хочете зробити це, переконайтеся, що ви належним чином забезпечили доступ до цього файлу * (також на рівні файлової системи). * / `
Buttle Butkus

Нижче цього, він має наступний рядок: include('/var/lib/phpmyadmin/blowfish_secret.inc.php');Так що я пішов туди і змінилося , що група файлу на моєму веб - сервер користувача. Це працює, але не здається більш безпечним, ніж введення пароля /etc/phpmyadmin/config.inc.php. Я думаю, можливо, PHP не може бути запущений там? Це все ж вирішило проблему. Тож я здогадуюсь, що перейду міст атаки, коли доїду до нього.
Buttle Butkus

Місце за замовчуванням під CONFIG_DIR - ./config/config.inc.php. Оскільки у мене є цей файл поза цим каталогом, щоб я міг простіше змінювати версії, мені просто потрібно було створити симпосилання для цього файлу до мого місця розташування, і повідомлення перейшло для мене. ln -s ../../../config.inc.php config.inc.php
MECU

+1 Для встановлення дозволів на /etc/phpMyAdminкаталог, а не лише на config.inc.phpфайл, що знаходиться в ньому.
jxmallett

5

я мав

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

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

Вона повинна бути:

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

(додається коса коса риса)


2

Остання версія phpmyadmin не створює конфігураційний файл після встановлення. Наявний приклад конфігураційного файлу та власне файл конфігурації за замовчуванням глибше у дереві папок.

Зауважте, що секрет метелика повинен мати рівно 32 символи, інакше він не застосовуватиметься.

Скопіюйте прикладний файл, щоб створити фактично використаний файл, який замінює значення за замовчуванням. Показаний нижче каталог є лише прикладом, тому використовуйте каталог / шлях для вашої установки phpmyadmin, яка застосовується.

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

У верхній частині файлу розміщена змінна blowfish, яку потрібно встановити. Додайте до значення змінної 32 випадкових символів, а потім збережіть файл.

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

Я не читав, щоб хтось згадував правило 32 символів у цій темі. Можливо, це було питанням для ОП.


2

У моєму випадку я оновив PHPMyAdmin вручну, оскільки версія в репо не погано поводилася з PHP 7.2. Я виконував всі кроки в Інтернеті, але помилився в /usr/share/phpmyadmin/libraries/vendor_config.php.

Лінія: define('CONFIG_DIR', '/etc/phpmyadmin/');не вистачало /в кінці. Я дізнався це, вручну редагуючи бібліотеки / класи / Config.php, і на початку цього function load($source)я зробив die($source). Там я побачив, що джерело конфігурації було неправильним.


1

На додаток до перевірки дозволів, які можна виконати для групи http (веб-сервер), варто перевірити, що запис 'open_basedir' у php.ini містить каталог, де config.inc.php знаходиться, якщо він встановлений. Це вилікувало для мене це питання.


1

Перейдіть у папку phpmyadmin> знайдіть ' lint.php ' та встановіть бібліотеки = 'Requ_once' / config.inc.php ';

Це однозначно вирішить вашу проблему.

Якщо це вирішить вашу проблему, то завдяки мені.


1

Виконайте такі дії:

1) Перейти до /etc/httpd/conf.d/phpmyadmin.conf

  • (перевірити шлях phpMyAdmin у тезі каталогу)

2) Зайти /usr/share/phpmyadmin, відкритиconf.inc.php

3) Додайте значення для blowfish_secret, наприклад -

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

4) Збереження та вихід.

5) Очистити кеш браузера

6) Спробуйте отримати доступ з URL: http://yourserver.com/phpmyadmin/index.php


1

Просто хочу поділитися цим. поставити

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

Перейдіть до папки phpmyadmin і знайдіть lint.php

і встановити

require_once 'common.inc.php';

1

Якщо ви відредагували файл тут: /usr/share/phpmyadmin/config.inc.php

І проблему не вирішити, є можливість, що ви редагуєте неправильний файл. якщо ви запустите, whereis phpmyadmin -lце повинно дати вам список розташування phpmyadmin на сервері.

Чому я сказав, що ви можете редагувати неправильний файл, це те, що якщо ви встановите phpmyadmin var/www/phpmyadminабо в var/www/html/phpmyadminцьому місці, вам потрібно відредагувати файл phpmyadmin/config.sample.inc.php.

Тому спробуйте це:

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

Відредагуйте це у свій спосіб, і вийдіть із системи, а також увійдіть у phpmyadmin.


0

Додавання пароля з 32 символами всередині дужок $ cfg ['blowfish_secret'] = ''; допоміг мені ще один файл всередині /usr/share/phpmyadmin/libraries/config.default.php

Використовуючи debian 9 + ispconfig, вручну встановити phpmyadmin


0

У моєму випадку це питання щодо власника / дозволів, оскільки я вручну створив симпосилання на одному з моїх основних веб-сайтів, щоб вказати, щоб /usr/share/phpmyadmin/я міг отримати доступ до phpMyAdmin з FQDN https://myserver.mydomain.com/changedphpmyadmin замість цього лише через IP. Але це також змінило веб-користувачів; перегляд через IP відрізняється, ніж через FQDN, якщо це не домен за замовчуванням.

Тож у моєму випадку веб-користувач мого FQDN не міг прочитати /var/lib/phpmyadmin/blowfish_secret.inc.php, тому я просто змінив власника цього файлу з root: www-data на web1: client1 у моєму випадку. Потім протестуйте і перезавантажте nginx:

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

Не слід було б перезавантажувати nginx; це не має нічого спільного з виконанням коду PHP.
жіноча
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.