Обсуждение: Phppgadmin

Поиск
Список
Период
Сортировка

Phppgadmin

От
Nabil Servais
Дата:
Hello, I know it's a mailing list dedicated to postgresql but, after a
long research on the web, I found nothing good. I've got some problem
phppgadmin 3.5.2 (running with postgresql 8.0 on debian sarge). I can
connect to the database with psql and pgadmin III but when I use
phppgadmin I get "login failed".


-----------------------------------------------------------------------


An extract of the config.inc.php:

<?php
   ...

           // Hostname or IP address for server.  Use '' for UNIX domain
socket.
       $conf['servers'][0]['host'] = '';

       // Database port on server (5432 is the PostgreSQL default)
       $conf['servers'][0]['port'] = 5432;

       // Change the default database only if you cannot connect to
template1
       $conf['servers'][0]['defaultdb'] = '';

       // Specify the path to the database dump utilities for this server.
       // You can set these to '' if no dumper is available.
       $conf['servers'][0]['pg_dump_path'] = '/usr/bin/pg_dump';
       $conf['servers'][0]['pg_dumpall_path'] = '/usr/bin/pg_dumpall';


       // Default language for the login screen if there's no translation
       // matching user's browser request. Eg: 'english', 'polish', etc.
       $conf['default_lang'] = 'english';

       // If extra login security is true, then logins via phpPgAdmin
with no
       // password or certain usernames (pgsql, postgres, root,
administrator)
       // will be denied. Only set this false once you have read the FAQ
and
       // understand how to change PostgreSQL's pg_hba.conf to enable
       // passworded local connections.
       $conf['extra_login_security'] = false;
   ...
?>


-------------------------------------------------------------------------


of the pg_hba.conf

# Database administrative login by UNIX sockets
local   all         postgres                          ident sameuser
local   all         postgres                          md5

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               ident sameuser
#local   all        all                                 md5
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
host    all         all         192.168.1.0/24        trust
#host   all         all         192.168.1.0/24          password
# IPv6 local connections:
host    all         all         ::1/128               md5

----------------------------------------------------------------------------



And postrgresql.conf

#---------------------------------------------------------------------------

# CONNECTIONS AND AUTHENTICATION
#---------------------------------------------------------------------------


# - Connection Settings -

listen_addresses = '*'  # what IP interface(s) to listen on;
                               # defaults to localhost, '*' = any
port = 5432
max_connections = 100
       # note: increasing max_connections costs about 500 bytes of shared
       # memory per connection slot, in addition to costs from
shared_buffers
       # and max_locks_per_transaction.
#superuser_reserved_connections = 2
unix_socket_directory = '/tmp'
#unix_socket_group = ''
#unix_socket_permissions = 0777 # octal
#rendezvous_name = ''           # defaults to the computer name

# - Security & Authentication -

#authentication_timeout = 60    # 1-600, in seconds
ssl = true
#password_encryption = true
#krb_server_keyfile = ''
#db_user_namespace = false



Re: Phppgadmin

От
"Juan Miguel Paredes"
Дата:
>            // Hostname or IP address for server.  Use '' for UNIX domain
> socket.
>        $conf['servers'][0]['host'] = '';

There you're trying to use "socket" connection (which corresponds to
"local" in pg_hba.conf:

> # "local" is for Unix domain socket connections only
> local   all         all                               ident sameuser

> #local   all        all                                 md5
> # IPv4 local connections:
> host    all         all         127.0.0.1/32          md5
> host    all         all         192.168.1.0/24        trust
> #host   all         all         192.168.1.0/24          password
> # IPv6 local connections:
> host    all         all         ::1/128               md5

Suggestion: try changing your phppgadmin configuration with
$conf['servers'][0]['host'] = 'localhost'; (to connect via TCP/IP), or
your pg_hba configuration for md5 or your preferred auth method on
local sockets...

Re: Phppgadmin

От
Christopher Kings-Lynne
Дата:
Hi Nabil,

First, I suggest using the latest version of phpPgAdmin: 4.0.

Second, your configuration seems ok, but you need to turn on logging in
your PostgreSQL to see the exact error that you're getting.

Chris

Nabil Servais wrote:
> Hello, I know it's a mailing list dedicated to postgresql but, after a
> long research on the web, I found nothing good. I've got some problem
> phppgadmin 3.5.2 (running with postgresql 8.0 on debian sarge). I can
> connect to the database with psql and pgadmin III but when I use
> phppgadmin I get "login failed".
>
>
> -----------------------------------------------------------------------
>
>
> An extract of the config.inc.php:
>
> <?php
>   ...
>
>           // Hostname or IP address for server.  Use '' for UNIX domain
> socket.
>       $conf['servers'][0]['host'] = '';
>
>       // Database port on server (5432 is the PostgreSQL default)
>       $conf['servers'][0]['port'] = 5432;
>
>       // Change the default database only if you cannot connect to
> template1
>       $conf['servers'][0]['defaultdb'] = '';
>
>       // Specify the path to the database dump utilities for this server.
>       // You can set these to '' if no dumper is available.
>       $conf['servers'][0]['pg_dump_path'] = '/usr/bin/pg_dump';
>       $conf['servers'][0]['pg_dumpall_path'] = '/usr/bin/pg_dumpall';
>
>
>       // Default language for the login screen if there's no translation
>       // matching user's browser request. Eg: 'english', 'polish', etc.
>       $conf['default_lang'] = 'english';
>
>       // If extra login security is true, then logins via phpPgAdmin
> with no
>       // password or certain usernames (pgsql, postgres, root,
> administrator)
>       // will be denied. Only set this false once you have read the FAQ and
>       // understand how to change PostgreSQL's pg_hba.conf to enable
>       // passworded local connections.
>       $conf['extra_login_security'] = false;
>   ...
> ?>
>
>
> -------------------------------------------------------------------------
>
>
> of the pg_hba.conf
>
> # Database administrative login by UNIX sockets
> local   all         postgres                          ident sameuser
> local   all         postgres                          md5
>
> # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
>
> # "local" is for Unix domain socket connections only
> local   all         all                               ident sameuser
> #local   all        all                                 md5
> # IPv4 local connections:
> host    all         all         127.0.0.1/32          md5
> host    all         all         192.168.1.0/24        trust
> #host   all         all         192.168.1.0/24          password
> # IPv6 local connections:
> host    all         all         ::1/128               md5
>
> ----------------------------------------------------------------------------
>
>
>
> And postrgresql.conf
>
> #---------------------------------------------------------------------------
>
> # CONNECTIONS AND AUTHENTICATION
> #---------------------------------------------------------------------------
>
>
> # - Connection Settings -
>
> listen_addresses = '*'  # what IP interface(s) to listen on;
>                               # defaults to localhost, '*' = any
> port = 5432
> max_connections = 100
>       # note: increasing max_connections costs about 500 bytes of shared
>       # memory per connection slot, in addition to costs from
> shared_buffers
>       # and max_locks_per_transaction.
> #superuser_reserved_connections = 2
> unix_socket_directory = '/tmp'
> #unix_socket_group = ''
> #unix_socket_permissions = 0777 # octal
> #rendezvous_name = ''           # defaults to the computer name
>
> # - Security & Authentication -
>
> #authentication_timeout = 60    # 1-600, in seconds
> ssl = true
> #password_encryption = true
> #krb_server_keyfile = ''
> #db_user_namespace = false
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings

--
Christopher Kings-Lynne

Technical Manager
CalorieKing
Tel: +618.9389.8777
Fax: +618.9389.8444
chris.kings-lynne@calorieking.com
www.calorieking.com


Re: Phppgadmin

От
Christopher Kings-Lynne
Дата:
>> # "local" is for Unix domain socket connections only
>> local   all         all                               ident sameuser

Oh yeah, "ident sameuser" for local will NOT work with phpPgAdmin.  You
need to use "md5" or something instead.

Chris