Я пытаюсь установить Roundcube на сервере CentOS 5.5 с базой данных PostgreSQL 8.1.22.
Первая страница установщика скрипта, который проверяет наличие php-библиотек и т. Д., Дает мне зеленый OK по всем направлениям. Я даже изо всех сил старался установить дополнительные.
Вторая страница генерирует мне два файла конфигурации (main.inc.php и db.inc.php), которые я вставляю на место.
На третьей странице все идет не так:
Проверьте конфигурацию БД DSN (запись): НЕ ОК (ошибка MDB2: сбой подключения)
Убедитесь, что настроенная база данных существует и что у пользователя есть права записи.
DSN: pgsql: // roundcube: пароль @ localhost / roundcubemail
Информация, которую вы видите там (user roundcube, password password, server localhost и database roundcubemail) верна. База данных roundcubemail принадлежит пользователю roundcube и имеет права на запись.
Я понятия не имею, почему он не может подключиться к этой базе данных. Я управляю им с помощью phpPgAdmin, который работает на том же Apache, на том же сервере!
Обновить
дополнительная информация: в моем файле журнала postgres есть несколько таких:
FATAL: no pg_hba.conf entry for host "127.0.0.1", user "roundcube", database "roundcubemail", SSL off
однако мой файл pg_hba.conf имеет следующее:
# "local" is for Unix domain socket connections only
local all all trust
host all all 127.0.0.1/32 trust
Использование telnet для подключения как к localhost, так и к 127.0.0.1 на порту 5432 работает нормально.
Ответ от DerfK выше неверен. Вы можете использовать PostgreSQL, используя сокет Unix с roundcube, если вы его правильно настроили. В db.inc.php он должен читать:
$rcmail_config['db_dsnw'] = 'pgsql://roundcube:*password*@unix(/tmp)/roundcube';
При условии, что вы создали пользователя «roundcube» в pgsql для базы данных «roundcube» с паролем »пароль"В вашем основном postgresql.conf вы должны запретить прослушивание на уровне IP, изменив:
listen_addresses = ''
unix_socket_directory = '/tmp'
ssl = false # There's no point in using SSL on a local UNIX socket except wasting CPU
Кроме того, и это самая важная часть, вы должны изменить в pg_hba.conf, чтобы добавить эту строку:
local all roundcube md5
Перезагрузите все, и все будет работать отлично и быстрее, чем при использовании TCP-соединений (поскольку вы избегаете инкапсуляции IP).