2

I'm trying to install Roundcube on a CentOS 5.5 server, with a PostgreSQL 8.1.22 database.

The first page of the installer script, that checks for the presence of php libraries and such, gives me green OKs across the board. I even went out of my way to install the optional ones.

Page two generates me two configuration files (main.inc.php and db.inc.php) which I put into place.

Page three is where things go wrong:

Check DB config DSN (write): NOT OK(MDB2 Error: connect failed)

Make sure that the configured database exists and that the user has write privileges

DSN: pgsql://roundcube:password@localhost/roundcubemail

The info you see there (user roundcube, password password, server localhost and database roundcubemail) is all correct. The database roundcubemail belongs to the user roundcube and it has write permissions.

I have no clue why it can't connect to that database. I'm managing it with phpPgAdmin, which is running on the very same Apache, on the same server!

update
some more information: my postgres log file has a bunch of these:
FATAL: no pg_hba.conf entry for host "127.0.0.1", user "roundcube", database "roundcubemail", SSL off
however, my pg_hba.conf file has this:
# "local" is for Unix domain socket connections only
local all all trust
host all all 127.0.0.1/32 trust

Using telnet to connect to both localhost and 127.0.0.1 on port 5432 works fine.

Kenny Rasschaert
  • 9,045
  • 3
  • 42
  • 58

1 Answers1

4

The answer from DerfK above is wrong. You can use PostgreSQL using Unix socket with roundcube provided you're configuring it well. In the db.inc.php, it should read:

$rcmail_config['db_dsnw'] = 'pgsql://roundcube:*password*@unix(/tmp)/roundcube';

Provided you've created a "roundcube" user in pgsql for the database "roundcube" with password "password" In your main postgresql.conf, you should prevent listening on the IP layer, by changing:

listen_addresses = ''
unix_socket_directory = '/tmp'
ssl = false  # There's no point in using SSL on a local UNIX socket except wasting CPU

Also, and that is the most important part, you must change in pg_hba.conf to add this line:

local   all         roundcube                        md5

Restart everything, and it's working perfectly well and faster than using TCP connections (since you avoid all the IP encapsulation).

xryl669
  • 238
  • 1
  • 8
  • It's a pretty old question but I'll try to set up this stack again later today, just for the sake of accepting the correct answer. Thanks for answering! – Kenny Rasschaert Jun 22 '12 at 10:57