Vous n'êtes pas identifié(e).
Salut tout le monde,
Je ne sais pas si je suis dans la bonne section, mais je vous expose mon problème;
Je n'ai pas trop l'habitude de travailler avec postgresql, et dans le cadre de mon travail nous voulons mettre en place un outil qui s'appel Dynacase, je ne sais pas si vous connaissez ==> http://www.dynacase.org/
Enfin voila pour le context, j'ai donc mis en place posgresql,
netstat -natup | grep "post"
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 17482/postgres
tcp6 0 0 ::1:5432 :::* LISTEN 17482/postgres
udp6 0 0 ::1:43076 ::1:43076 ESTABLISHED 17482/postgres
Tout à l'air bon pour cette partie la.
Ensuite j'ai pris ces commandes pour crée une base, un user et mdp :
su postgres
psql
CREATE ROLE u_ecliss WITH LOGIN ENCRYPTED PASSWORD 'p_ecliss' SUPERUSER;
CREATE DATABASE db_ecliss OWNER u_ecliss;
\q
exit
Ensuite j'ai crée le fichier pg_service.conf
[s_ecliss]
host=127.0.0.1
port=5432
dbname=db_ecliss
user=u_ecliss
password=p_ecliss
Le soucis c'est que au niveau de l'inteferface php au niveau du service name cela n'a pas l'air de passer, de plus si j'essaie les commandes suivantes :
PGSERVICE=s_ecliss
psql
J'ai le résultat suivant :
psql: FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
Et au niveau des logs au cas ou
2015-02-11 11:29:09 CET LOG: a re?u une demande d'arr?t rapide
2015-02-11 11:29:09 CET LOG: annulation des transactions actives
2015-02-11 11:29:09 CET LOG: arr?t du processus autovacuum
2015-02-11 11:29:09 CET LOG: arr?t en cours
2015-02-11 11:29:09 CET LOG: le syst?me de base de donn?es est arr?t?
2015-02-11 11:29:10 CET LOG: le syst?me de bases de donn?es a ?t? arr?t? ? 2015-02-11 11:29:09 CET
2015-02-11 11:29:10 CET LOG: le syst?me de bases de donn?es est pr?t pour accepter les connexions
2015-02-11 11:29:10 CET LOG: lancement du processus autovacuum
2015-02-11 11:29:11 CET LOG: paquet de d?marrage incomplet
2015-02-11 11:29:44 CET FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
2015-02-11 11:29:44 CET FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
2015-02-11 11:30:31 CET LOG: a re?u SIGHUP, rechargement des fichiers de configuration
2015-02-11 11:30:33 CET FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
2015-02-11 11:30:33 CET FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
2015-02-11 11:31:31 CET FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
2015-02-11 11:31:31 CET FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
2015-02-11 11:32:13 CET FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
2015-02-11 11:32:13 CET FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
2015-02-11 11:32:44 CET FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
2015-02-11 11:32:44 CET FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
2015-02-11 11:41:32 CET FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
2015-02-11 11:41:32 CET FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << u_ecliss >>
EDIT :
Si j'utilise cette commande la, la connexion à la base de donnée se fait bien....
>psql db_ecliss -U u_ecliss -h localhost
Mot de passe pour l'utilisateur u_ecliss :
psql (9.1.15)
Connexion SSL (chiffrement : DHE-RSA-AES256-SHA, bits : 256)
Saisissez « help » pour l'aide.
db_ecliss=# exit
db_ecliss-# \q
Quelqu'un aurait une petite idée sur le sujet ?
Cordialement,
Totof
Dernière modification par totof68 (12/02/2015 16:19:48)
Hors ligne
bonjour,
Vous pouvez nous donner le contenu de votre fichier pg_hba.conf ?
Cordialement,
Cordialement,
Sébastien.
Hors ligne
Voici le contenu du fichier :
# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
Hors ligne
A distance la connexion doit être authentifiée par un mot de passe.
ligne "host all all 127.0.0.1/32 md5" du pg_hba.conf
Il faut modifier cette ligne comme ceci pour autoriser les ip distantes :
host all all 0.0.0.0 0.0.0.0 md5
Il faut aussi ajouter une ligne dans le fichier .pgpass pour votre user u_ecliss
http://docs.postgresql.fr/9.3/libpq-pgpass.html
Cordialement,
Cordialement,
Sébastien.
Hors ligne
D'accord, je viens de faire la modif dans le fichier pg_hba.conf,
Cependant avec la configuration de l'outil il me demande cela :
Je rentre donc les paramètres,
Voici le retour
Ce qui est étonnant c'est que je n'ai pas de log, concernant postgre pour l'authentification échoué
2015-02-11 12:29:03 CET LOG: a re?u une demande d'arr?t rapide
2015-02-11 12:29:03 CET LOG: annulation des transactions actives
2015-02-11 12:29:03 CET LOG: arr?t du processus autovacuum
2015-02-11 12:29:03 CET LOG: arr?t en cours
2015-02-11 12:29:03 CET LOG: le syst?me de base de donn?es est arr?t?
2015-02-11 12:29:04 CET LOG: le syst?me de bases de donn?es a ?t? arr?t? ? 2015-02-11 12:29:03 CET
2015-02-11 12:29:04 CET LOG: le syst?me de bases de donn?es est pr?t pour accepter les connexions
2015-02-11 12:29:04 CET LOG: lancement du processus autovacuum
2015-02-11 12:29:04 CET LOG: paquet de d?marrage incomplet
Je dirais qu'il me manque quelque chose pour qu'il y ai une liaison serveur web ==> postgresql ?
J'ai bien installer le php5-psql pourtant
Et concernant le fichier .pgpass si j'ai bien compris c'est un fichier que l'on met dans son home ? enfin le home de l'utilisateur postgres ?
Hors ligne
si je ne me trompe pas votre base s'appelle db_ecliss ?
dans le postgresql.conf, il faut s'assurer que listen_adresses est configuré (exemple : listen_adresses = '*')
Votre serveur postgresql est arrêté. Relancez le.
Cordialement,
Cordialement,
Sébastien.
Hors ligne
La base s'appel bien db_ecliss pour le test
Au niveau du fichier de conf j'ai bien ceci
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
# (change requires restart)
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
# Note: Increasing max_connections costs ~400 bytes of shared memory per
# connection slot, plus lock space (see max_locks_per_transaction).
#superuser_reserved_connections = 3 # (change requires restart)
unix_socket_directory = '/var/run/postgresql' # (change requires restart)
#unix_socket_group = '' # (change requires restart)
#unix_socket_permissions = 0777 # begin with 0 to use octal notation
# (change requires restart)
#bonjour = off # advertise server via Bonjour
# (change requires restart)
#bonjour_name = '' # defaults to the computer name
# (change requires restart)
J'ai passer listen_addresses = 'localhost' en listen_addresses = '*''
Et au niveau de netstat
netstat -natup | grep "post"
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 3031/postgres
tcp6 0 0 ::1:5432 :::* LISTEN 3031/postgres
udp6 0 0 ::1:36542 ::1:36542 ESTABLISHED 3031/postgres
Au niveau du pare-feu étant donnée que c'est un serveur virtuel tout est open
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Dernière modification par totof68 (11/02/2015 14:26:04)
Hors ligne
pour listen_adresses il faut faire un arrêt relance du cluster postgresql.
Pourle nom de la base, ce qui m'étonnait c'est le nom du service (donc de la base) que vous mettez dans la configuration de l'outil dynacase (ecliss au lieu de db_ecliss).
Cordialement,
Sébastien.
Hors ligne
Le restart de postgresql est fait ( plusieurs fois même à fois que j'essaie de faire des modifications de config )
En faite pour dynacase, si je ne me trompe pas, on lui indique le nom du service, dans mon cas [s_ecliss] ( même si j'ai aussi essayer ecliss, db_ecliss etc...)
Dynacase va se connecter à la base de donnée en utilisant les valeurs qui se trouve dans pg_service donc :
[s_ecliss]
host=localhost
port=5432
dbname=db_ecliss
user=u_ecliss
password=p_ecliss
Hors ligne
Où avez-vous placé le fichier pg_service.conf ? Avez-vous configuré la variable PGSYSCONFDIR avec le nom du répertoire qui contient ce fichier ?
Guillaume.
Hors ligne
Bonsoir Gleu,
Le fichier pg_service.conf est dans le répertoire : cd /etc/postgresql-common/
Je penses que la variable PGSYSCONFDIR est bonne... enfin comme je disais j'arrive à me connecter a la base de donnée avec l'utilisateur de la base, cependant on dirait que lorsque je veux faire une connexion avec l'outil en php il ne se passe rien... car je ne vois pas de tentative échouer dans les log de posgresql alors du coup je ne sais pas d'ou cela peut provenir étant donnée que j'ai bien le php5-psql d'installer sur le serveur...
Hors ligne
Si vous arrivez à vous connecter à votre base PostgreSQL avec psql du même serveur où se trouve votre application (Dynacast?), avec le nom du service et celui de la base de données, alors le problème vient de Dyncast et il vous revient de vous retourner vers eux pour corriger ce problème.
Guillaume.
Hors ligne
Je viens de refaire un test avec une nouvelle base de donnée, utilisateur & co, et cela fonctionne parfaitement.
Mon fichier de configuration pg_service devait avoir un soucis avec des tabulations je pense, car j'ai refais un service dedans avec les nouvelles info et l'installation s'est bien faite.
En tout cas merci pour votre aide
Hors ligne