Ошибки phpMyAdmin и способы их устранения

archive view archive save

php-code-logo2.jpg phpMyAdmin: HTTP 403 (Forbidden); В конфигурационном файле необходимо задать парольную фразу (blowfish_secret); The configuration file now needs a secret passphrase (blowfish_secret).

Разбор всевозможных ошибок РНР и способов их решения.

  1. phpMyAdmin HTTP 403 (Forbidden)
  2. phpMyAdmin blowfish_secret
    1. 1. Отсутствует config.inc.php
    2. 2. А дальше mod_security не пускает
    3. 3. config.inc.php не в том месте
    4. 4. open_basedir restrictions
    5. 5. Протереть монитор, выдавить стекло

phpMyAdmin HTTP 403 (Forbidden)

Читаем журнал сервера:

script does not have ExecCGI enabled

$ sudo less /home/www/.logs/www-error.log|grep phpmyad|less
[Fri Aug 05 04:50:40.166650 2022] [fcgid:error] [pid 29625:tid 140391388202752]
[client 186.134.15.29:59762] mod_fcgid: location of script /usr/share/phpmyadmin
/index.php does not have ExecCGI enabled

Добавляем недостающее ExecCGI

$ sudo vi /etc/phpmyadmin/apache.conf
# phpMyAdmin default Apache configuration
 
Alias /phpmyadmin /usr/share/phpmyadmin
 
<Directory /usr/share/phpmyadmin>
    Options +FollowSymLinks +ExecCGI
    DirectoryIndex index.php
 
    AuthUserFile "/var/www/.htpasswd"
    AuthName "Administrator only"
    AuthType Basic
    require valid-user
    Satisfy all
 
    ...
</Directory>

ещё одной из причин может оказаться mod_security, как оно выключается будет далее...

phpMyAdmin blowfish_secret

В конфигурационном файле необходимо задать парольную фразу (blowfish_secret).

The configuration file now needs a secret passphrase (blowfish_secret).

Весёлая история, особенно если phpMyAdmin устанавливался не вручную, а из пакетов...

Требования к blowfish_secret:

  1. определяется в config.inc.php корневой директории phpmyadmin;
  2. должно быть не менее 32 символов

1. Отсутствует config.inc.php

По-умолчанию файл конфигурации /usr/share/phpmyadmin/config.inc.php в корневой директории phpmyadmin отсутствует - тут всё понятно, скопировали:

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

Отредактировали:

$ sudo vi /usr/share/phpmyadmin/config.inc.php
 
/**
 * This is needed for cookie based authentication to encrypt password in
 * cookie. Needs to be 32 chars long.
 */
$cfg['blowfish_secret'] = 'viyie0quoo1oobie5ai4othohQui6zeo'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Не помогло? Поехали дальше...

2. А дальше mod_security не пускает

Отключаем

$ sudo vi /etc/phpmyadmin/apache.conf
 
<Directory /usr/share/phpmyadmin>
    ...
    <IfModule security2_module>
        SecRuleEngine Off
        SecRuleRemoveById 920350 980130 949110 942140 200004
    </IfModule>
</Directory>

Опять не помогло? От phpMyAdmin-а маму...

3. config.inc.php не в том месте

Так тоже бывает, ой как бывает...

$ sudo vi /usr/share/phpmyadmin/libraries/vendor_config.php
 
/**
 * Directory where configuration files are stored.
 * It is not used directly in code, just a convenient
 * define used further in this file.
 */
define('CONFIG_DIR', '/etc/phpmyadmin/');
 
/**
 * Filename of a configuration file.
 */
define('CONFIG_FILE', CONFIG_DIR . 'config.inc.php');

Оказывается config.inc.php ожидается в /etc/phpmyadmin/ - передвигаем

$ sudo mv /usr/share/phpmyadmin/config.inc.php /etc/phpmyadmin/

Проверяем, ну, как? Снова не? От йоханый phpMyAdmin, разорви его ракета...

4. open_basedir restrictions

$ sudo less /home/www/.logs/www-access.log|grep access|less
...
[05-Aug-2022 06:24:53 Europe/Helsinki] phpmyadmin: Failed to load /var/lib/phpmyadmin/blowfish_secret.inc.php Check group www-data has read access and open_basedir restrictions.
[05-Aug-2022 06:24:53 Europe/Helsinki] phpmyadmin: Failed to load /var/lib/phpmyadmin/config.inc.php Check group www-data has read access and open_basedir restrictions.
[05-Aug-2022 06:24:53 Europe/Helsinki] phpmyadmin: Failed to load /etc/phpmyadmin/config-db.php Check group www-data has read access and open_basedir restrictions.

Думаю понятно, что нужно делать? php.ini у каждого хоста своё, находим там open_basedir и добавляем туда /var/lib/phpmyadmin/ и /etc/phpmyadmin/

; open_basedir, if set, limits all file operations to the defined directory
; and below.  This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file.
; http://php.net/open-basedir
;open_basedir =
open_basedir = /home/www:/usr/local/lib/php:/usr/lib/php:/usr/local/lib/php5:/usr/lib/php5:/proc:/usr/share:/var/lib:/etc/phpmyadmin:/usr/share/phpmyadmin

Ну, как, теперь арбайтен? НаАайн???

5. Протереть монитор, выдавить стекло

Ну.., тогда.., как нас уверят многие "копирасты", переменную $cfg['blowfish_secret'] указать именно в определённом порядке следования:

Если описанные выше способы не помогают, то точно выручит следующее:

Созданный ранее конфиг удаляем, чтобы не мешался и не влиял на работу того, что и без него работало:

# rm /usr/share/phpmyadmin/config.inc.php

Открываем реальный конфиг phpMyAdmin, который находится тут → /etc/phpmyadmin/config.inc.php и дописываем куда-нибудь в конец строку с переменной $cfg['blowfish_secret'], например, после этих двух строчек:

$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
$cfg['blowfish_secret'] = '12345678901234567890123456789012';

После этого ошибка в phpMyAdmin больше не появляется.

А чтобы 100%-я капитальная полная гарантия, вдобавок перезапустить браузер или перезагрузить весь ПК сразу - тогда уж точно всё вмиг засияет! :))


Нет комментариев

Вы можете стать первым, кто добавит комментарий к этой записи.

Добавить комментарий

АХТУНГ! Все комменты гостей модерасятся модерастом.
  1. Мессаги исключительно рекламного содержания, либо содержащие только одни оценочные суждения типа "круто" ("отлично", "спасибо", "автор дебил" и т.п.) не публикуются;
  2. Злостным спамерам, пранкерам и прочей сетевой нечисти рекомендуем напрасно не тратить своего времени и удовлетворять свои больные фантазии на специализированных Интернет ресурсах!;
  3. Разумная обоснованная критика, замечания, дополнения приветствуются. Поля помеченные символом * обязательны к заполнению.


Защитный код
Обновить

Комментарии в блоге
Новое на форуме