Vous n'êtes pas identifié(e).
Pages : 1
bonjour,
autodidacte de la bdd et de postgresql je patauge sur la difficulté suivante :
je voudrais installer un serveur de calendrier davical
j'ai suivi les étapes décrites sur ubuntu
Mais quand je tape l'URL dans un navigateur j'ai la réponse suivante
Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: authentification Ident échouée pour l'utilisateur « davical_app » in /usr/share/awl/inc/PgQuery.php on line 69
Database Error
Could not connect to PostgreSQL database
la ligne /usr/share/awl/inc/PgQuery.php est : la ligne 69 est la dernière du paragraphe suivant
function connect_configured_database() {
global $c, $dbconn;
/**
* Attempt to connect to the configured connect strings
*/
$dbconn = false;
if ( isset($c->pg_connect) && is_array($c->pg_connect) ) {
foreach( $c->pg_connect AS $k => $v ) {
if ( !$dbconn ) $dbconn = ((isset($c->use_persistent) && $c->use_persistent) ? pg_pConnect($v) : pg_Connect($v) );
}
}
merci pour l'aide
Hors ligne
Vous avez mal paramétré l'authentification. Plutôt que de juste vous donner une réponse sur ce point précis, et que vous butiez à nouveau sur les étapes suivantes, je vous conseille de lire ceci :
http://blog.postgresql.fr/index.php?pos … PostgreSQL
Marc.
Hors ligne
Merci de cette aide
effectivement c'est une lecture instructive.
Dans ma situation l'information importante est : dans pg_hba.conf l'ordre des lignes est capitale
.
j'avais rajouté
local davical davical_app trust
local davical davical_dba trust
au lieu de
local davical davical_dba trust
local davical davical_app trust
ceci me fait franchir une étape mais sans être au bout de mes peines
je dois encore configurer correctement /etc/davical/ip-conf.php
Hors ligne
Ne pas tenir compte de ma réponse précédente. Pour une raison que je n'arrive pas à déterminer je suis revenu à la case départ.
Si j'ai compris le manuel indiqué
PgQuery.php est commandé par pg_hba.conf, ce dernier indiquant qui peut se connecter à une base postgresql, laquelle et comment. Pour se connecter à davical c'est le fichier /etc/davical/ip-conf.php qui précise les choses.
Comme je suis en local, sous ubuntu pg_hba.conf doit contenir à la ligne local
local all all 127.0.0.1/32 trust (ce dernier n'étant pas recommandé car il ouvre la connection à tout le monde).
Hors ligne
local veut dire à travers une socket 'unix'. Si vous avez indiqué quelquepart localhost ou 127.0.0.1 comme adresse de connexion dans davical, c'est une connexion tcp que vous faites, c'est à dire que vous devez la déclarer en tant que 'host'. Quel message d'erreur avez vous maintenant ?
Marc.
Hors ligne
Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: authentification Ident échouée pour l'utilisateur « davical_app » in /usr/share/awl/inc/PgQuery.php on line 69
Database Error
Could not connect to PostgreSQL database
merci de votre patience
Hors ligne
Merci de donner tout votre pg_hba.conf : si vous avez cette erreur, c'est que ce n'est pas une ligne trust qui s'applique pour vous, mais une ligne ident.
Marc.
Hors ligne
le fichier pg_hba.conf
# Database administrative login by UNIX sockets
local all postgres ident
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 127.0.0.1/32 trust
# "local" is for Unix domain socket connections only
local all all 127.0.0.1/32 trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
local davical davical_dba trust
local davical davical_app trust
le fichier /etc/davical/localhost-conf.php
<?php
// $c->domain_name = "davical.example.net";
// $c->sysabbr = 'davical';
// $c->admin_email = 'admin@example.net';
$c->system_name = "DAvical CalDAV Server";
$c->collections_always_exist = true;
$c->enable_row_linking = true;
$c->default_locale = fr_FR.UTF-8;
//$c->pg_connect[] = 'dbname=davical port=5433 user=general';
$c->pg_connect[] = 'dbname=davical port=5432 user=davical_app';
?>
Hors ligne
Depuis la dernière modification du fichier pg_hba.conf, avez-vous rechargé la configuration ? êtes-vous sûr aussi que vous modifiez le bon fichier pg_hba.conf ?
Guillaume.
Hors ligne
je réponds à l'envers
le bon fichier pg_hba.conf : il y en aurait plusieurs ? Une première hypothèse. comme j'ai upgradé régulièrement ma ubuntu j'ai 2 versions de postgresql dans etc, la 8.3 et la 8.4. Je n'ai rien fait de spécial pour passer de la première à la seconde après la mise à jour. Le fichier pg_hba.conf est celui de la 8.4.
rechargé la configuration ? désolé je ne comprends pas à quoi cela correspond. Relancer le serveur postgresql ? Dans ce cas la réponse est oui.
Hors ligne
Si vous avez relancer le serveur PostgreSQL, cela a rechargé la configuration. Du coup, vu le message d'erreur que vous avez et le fichier que vous nous donnez, il me semble que vous n'avez pas configuré le bon. pg_lsclusters vous indiquera les serveurs en cours d'exécution ainsi que l'emplacement des fichiers de configuration pour chaque serveur.
Guillaume.
Hors ligne
Autrement dit,le problème ne viendrait pas des fichiers de configuration sur lesquels nous travaillons depuis un moment, mais plutôt de postgresql lui-même.
C'est une hypothèse qui m'a effleuré l'esprit, notamment parce qu'une partie de l'installation de la base davical est automatique.
Procédons dans l'ordre
pg_lscluster m'indiquera quel serveur (8.3 ou 8.4) est actif sur ma distribution ?
Hors ligne
Autrement dit,le problème ne viendrait pas des fichiers de configuration sur lesquels nous travaillons depuis un moment, mais plutôt de postgresql lui-même.
C'est tout à fait le contraire
pg_lscluster m'indiquera quel serveur (8.3 ou 8.4) est actif sur ma distribution ?
Oui. Et ça indiquera aussi quels sont les fichiers de configuration utilisées.
Guillaume.
Hors ligne
Version Cluster Port Status Owner Data directory Log file
8.3 main 5432 online postgres /var/lib/postgresql/8.3/main /var/log/postgresql/postgresql-8.3-main.log
8.4 main 5433 down postgres /var/lib/postgresql/8.4/main /var/log/postgresql/postgresql-8.4-main.log
Hors ligne
Donc le seul serveur actif actuellement est le serveur de 8.3. Les fichiers de configurations sont dans /etc/postgresql/8.3/main. Que contient le fichier pg_hba.conf dans ce répertoire ?
Guillaume.
Hors ligne
# Database administrative login by UNIX sockets
local all postgres ident sameuser
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Hors ligne
Donc il manque l'entrée pour la connexion « dbname=davical port=5432 user=davical_app ».
Par exemple:
local davical davical_app trust
Guillaume.
Hors ligne
pas de connexion possible.
je crois que je vais laisser tomber davical (d'ailleurs je ne suis pas sur que la base soit bien paramétrée, j'ai suivi le tuto à l'aveugle).
merci à nouveau pour l'aide
Hors ligne
Pages : 1