nginx — phpmyadmin жалуется на разрешения и open_basedir — но все они выглядят правильно

phpmyadmin был установлен и работает нормально в течение нескольких месяцев, установлен через этот репозиторий:

deb http://ppa.launchpad.net/tuxpoldo/phpmyadmin/ubuntu utopic main

Внезапно я не смог войти; нет ошибок на странице, но журналы показали:

PHP message: phpmyadmin: Failed to load /etc/phpmyadmin/config-db.php Check group www-data has read access and open_basedir restrictions"PHP message: phpmyadmin: Failed to load /var/lib/phpmyadmin/config.inc.php Check group www-data has read access and open_basedir restrictions"

Итак, я проверил:

ll /etc/phpmyadmin

drwxrwxr-x   3 www-data www-data  4096 Nov 16 20:11 ./
drwxr-xr-x 132 root     root     12288 Nov 17 15:33 ../
-rw-r-----   1 www-data www-data   549 Nov 16 20:11 config-db.php

а также

ll /var/lib/phpmyadmin

drwxr-xr-x  4 www-data www-data 4096 Oct  8 15:51 ./
drwxr-xr-x 62 root     root     4096 Nov 12 13:10 ../
-rw-r-----  1 www-data www-data 4478 Nov 16 19:48 config.inc.php

Я последовал за этот так ответ и изменил разрешения пользователя и группы в соответствии с примером (user: root, group: www-data) и изменил разрешения каталога для соответствия.

Я дважды, трижды проверил, что ограничения open-basedir не действуют, и я проверил phpinfo ()
Я попытался изменить права доступа на рабочий пул fpm.
Я перезагрузился.
Я сделал sudo apt-get install --reinstall phpmyadmin,

ЕДИНСТВЕННОЕ, что я сделал между ними, — это следовать это руководство по установке freePBX, и 90% того, что он хотел, было на моей машине в любом случае; были установлены только такие вещи, как sqlite, и я даже не могу быть уверен, что это остановило его работу. Длинный выстрел, но, возможно, стоит упомянуть.

Все остальное, все другие сайты и т. Д. Работают нормально. Прежде чем я потеряю больше волос, чем за последние 5 часов, я очень ценю некоторые идеи. Спасибо!

1

Решение

Оказывается, это довольно вводящее в заблуждение сообщение от phpmyadmin:

Check group www-data has read access and open_basedir restrictions.

Но у каждого, кто работает с несколькими сайтами, использует php-fpm и вообще беспокоится о безопасности, будут отдельные пулы для каждого сайта.

Решение в моем конкретном случае было:

chown -R phpma:phpma /var/lib/phpmyadmin
chown -R phpma:phpma /etc/phpmyadmin
chown -R phpma:phpma /usr/share/phpmyadmin

затем sudo dpkg-reconfigure -plow phpmyadmin

Между прочим, кажется, что установка пакета на Ubuntu разбрызгивает файлы повсюду, и это выглядит примерно так:

/etc/phpmyadmin/config.inc.php

включает в себя следующие файлы в этом порядке, которые на самом деле не нужно трогать, если вы не хотите увеличить срок действия cookie cookie входа в систему.

/var/lib/phpmyadmin/blowfish_secret.inc.php // self explanatory
/var/lib/phpmyadmin/config.inc.php // LoginCookieValidity etc
/etc/phpmyadmin/config-db.php // Leave this one alone
/usr/share/phpmyadmin/config.inc.php // auth, host, connection etc

Я надеюсь, что это поможет кому-то еще в любом случае.

2

Другие решения

Это, безусловно, связано с тем, что вы используете mpm_itk_module.

Если да, вы должны использовать в настройках Apache:

<ifmodule mpm_itk_module>
AssignUserId myuser www-data
</ifmodule>

вместо:

<ifmodule mpm_itk_module>
AssignUserId myuser myuser
</ifmodule>

phpmyadmin нужна группа www-data, и если вы используете AssignUserId, с другой группой это не сработает.

И вы можете добавить к вам конфиг apache в «Каталог»:

php_admin_value open_basedir "/home/yourpath/htmldir:/etc/phpmyadmin:/var/lib/phpmyadmin"

Замените / home / yourpath / htmldir своим собственным веб-каталогом.

Надеюсь это поможет

1

По вопросам рекламы [email protected]