Ошибки обновления postfixadmin

Итак, в процессе обновления postfixadmin с версии 3.1 на 3.3.11 (OS Gentoo) в браузере получил ошибку

Database — MySQL (pdo_mysql) extension not found

Database connection string : mysql:host=localhost;dbname=mail;charset=UTF8 Problem connecting to database,
check database configuration ($CONF[‘database_*’] entries in config.local.php)
could not find driver

Ключевая фраза «pdo_mysql extension not found«. Решение простое. Нужно собрать php с поддержкой PDO с последующей перезагрузкой php-fpm

Обновляем страницу в браузере и видим, что postfixadmin «видит» поддержку pdo_mysql, однако с базой соединится не может. Возникает ошибка

Database — MySQL support available

Database connection string : mysql:host=localhost;dbname=mail;charset=UTF8
Problem connecting to database, check database configuration ($CONF[‘database_*’] entries in config.local.php)
SQLSTATE[HY000] [2002] No such file or directory

Для ее устранения в файле конфигурации config.local.php ищем строку

$CONF['database_host'] = 'localhost';

и меняем на строку

$CONF['database_host'] = '127.0.0.1';

Снова обновляем страницу в браузере и получаем еще одну ошибку

Everything seems fine… attempting to create/update database structure
Exception message: Postfixadmin DB update failed. Please check your PHP error_log — check logs!
Something went wrong while trying to apply database updates, a message should be logged — check PHP’s error_log ()
[error] FastCGI sent in stderr: «PHP message: Invalid query: SQLSTATE[42000]: Syntax error or access violation: 1142 CREATE command denied to user ‘postfix’@’localhost’ for table ‘config’

Это говорит о том, что у пользователя postfix базы mysql нет права CREATE для обновления схемы БД postfixadmin’а. Решение этой проблемы — дело техники

P.S.

Для таких продуктов как postfixadmin, phpmyadmin и некоторых других параметры конфигурации указаны в файле config.inc.php. Это дифолтный конфиг и он будет перезаписан в процессе следующего автоматического обновления (если таковое используется). Чтобы избежать потери «своих» настроек, рекомендуется хранить их в файле config.local.php, который нужно создать в той же папке, рядом с config.inc.php

0 0 голоса
Оцените статью
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии