Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 27/08/2013 22:25:02
- SWAT
- Membre
Connexion distante vers le serveur [Debian 7.1- Ruby & Rails Pg 9.1]
Bonjour à tous,
Je cherche à me connecter sur la base postgreSQL 9.1 depuis le Web sur mon serveur distant.
Le serveur est un Debian 7.1 sur lequel j'ai installé Ruby & Rails puis PostgreSQL 9.1. lorsque je veux
rejoindre le serveur par un navigateur, il me répond :
PG::ConnectionBad
fe_sendauth: no password supplied
En parcourant les docs et forums divers, il est dit que s'il exite un user unix et une base de même nom, la
connexion par defaut s'établit. (Je pense qu'a distance c'est www-data qui etabli la connexion mais sans certitude)
Pour les besoin du TEST (et seulement dans ce cas la) j'ai créé une base "root", et je l'ai rattaché à ce
user
Voici l'installation dans son ensemble, suivi des commandes SQL réalisées et enfin le fichier pg_hba.conf
MERCI DE VOTRE AIDE à TOUS, j'ai surement fais quelque chose de travers.
INSTALLATION Serveur
##verif des sources
apt-get update
apt-get upgrade
##installation de Apache2 Ruby GEM postgresql
apt-get install apache2 ruby rubygems ruby-dev postgresql-9.1 libpq-dev
Préparation PostgreSQL
##definition du password du user Postresql
su postgres
psql -d template1
"template1=#" alter user postgres with encrypted password 'post';
/q
##Puis éditer pg_hba.conf
nano /etc/postgresql/9.1/main/pg_hba.conf
##modifier la ligne comme suit :
local all postgres md5
##ctrl+o pour enregistrer puis ctrl+x pour quitter
##On se reconnect en Postgres
su postgres
psql
##On cré un utilisateur "root" puisque nous sommes en root, sinon créer un utilisateur debian
##puis donner son nom à l'utilisateur de posgresql et à la base de donnée :
postgres=# CREATE USER root;
ALTER ROLE root WITH CREATEDB;
##on cré la base de donnée "root" rattachée à l'utilisateur "root"
CREATE DATABASE root OWNER root;
ALTER USER root WITH ENCRYPTED PASSWORD 'essai';
## on quitte
\q
##On se reconnect en root
su -
##on lance la base root
psql root
##si : "root=>" connexion ok
## on quitte
\q
## Editer de nouveau pg_hba.conf
nano /etc/postgresql/9.1/main/pg_hba.conf
##modifier la ligne comme suit :
host all all 0.0.0.0/0 md5
## enregistrer puis relancer le serveur
/etc/init.d/postgresql restart
Installation de Rails
gem install rake
gem install rails
##ajouter dans le PATH c'est à dire dans la liste des répertoires que votre Debian va parcourir à la
recherche des binaires
echo
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/1.8/bin" >> ~/.bashrc
## redemarrer
shutdown -r now
##Installer Passenger
gem install passenger
## sera demandé par Passenger
apt-get install libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev
##Et nous le configurons
passenger-install-apache2-module
##Pour finir d'installer Passenger il suffit de créer un fichier de conf apache pour Ruby :
nano /etc/apache2/conf.d/ruby.conf
##Puis on saisie ces infos dans le fichier et on enregistre
LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-4.0.14/buildout/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/1.9.1/gems/passenger-4.0.14
PassengerDefaultRuby /usr/bin/ruby1.9.1
Creation du projet
##Création du projet nommé "root"
cd /var/www
rails new root -d postgresql
## Pour que passenger fonctionne j'ai besoin d'ajouter à mon projet le gem "therubyracer".
cd /var/www/root
nano Gemfile
## Ajouté dans le fichier puis enregistrer
gem 'therubyracer'
##installer le Gem
bundle install
Paramètrage d'apache
##Pour cela nous allons modifier le site par défaut affiché par apache.
nano /etc/apache2/sites-enabled/000-default
##Effacez tout le contenu et mettez ceci :
<Virtualhost *:80>
DocumentRoot /var/www/root/public/
RailsEnv development # Définie l'environnement de Rails (enlever ce commantaire dans le fichier)
<Directory /var/www/root/public>
Options ExecCGI FollowSymLinks
Options -Multiviews
AddHandler cgi-script .cgi
AllowOverride all
Order allow,deny
Allow from all
</Directory>
</Virtualhost>
## Enregistrez et faite un reload d'apache
/etc/init.d/apache2 reload
FICHIER pg_hba.conf
# Database administrative login by Unix domain socket
local all postgres md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 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
Dernière modification par SWAT (27/08/2013 22:35:10)
Hors ligne
#2 28/08/2013 19:46:50
- rjuju
- Administrateur
Re : Connexion distante vers le serveur [Debian 7.1- Ruby & Rails Pg 9.1]
Bonjour,
je ne connais pas du tout rails, mais je ne vois nulle part de configuration de la connexion postgres.
Vous pouvez sinon regarder dans les log de postgres le message d'erreur lié à l'erreur de connexion, vous saurez alors quel utilisateur a été utilisé pour la tentative de connexion.
Julien.
https://rjuju.github.io/
Hors ligne
#3 28/08/2013 21:46:43
- SWAT
- Membre
Re : Connexion distante vers le serveur [Debian 7.1- Ruby & Rails Pg 9.1]
Bonsoir rjuju,
merci de vous pencher sur mon problème, voici le contenu du fichier de log.
2013-08-27 22:17:38 CEST LOG: lancement du processus autovacuum
2013-08-27 22:17:38 CEST LOG: le syst?me de bases de donn?es est pr?t pour accepter les connexions
2013-08-27 22:17:38 CEST LOG: paquet de d?marrage incomplet
2013-08-27 22:17:39 CEST FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << postgres >>
2013-08-27 22:17:39 CEST FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << postgres >>
2013-08-27 22:17:40 CEST FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << postgres >>
2013-08-27 22:17:40 CEST FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << postgres >>
2013-08-27 22:17:41 CEST FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << postgres >>
2013-08-27 22:17:41 CEST FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << postgres >>
2013-08-27 22:17:42 CEST FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << postgres >>
2013-08-27 22:17:42 CEST FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << postgres >>
2013-08-27 22:17:43 CEST FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << postgres >>
2013-08-27 22:17:43 CEST FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << postgres >>
2013-08-27 22:17:44 CEST FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << postgres >>
2013-08-27 22:17:44 CEST LOG: paquet de d?marrage incomplet
2013-08-27 22:38:05 CEST FATAL: annulation de l'authentification ? cause du d?lai ?coul?
Dois je créer un user debian "postgres" ainsi qu'une base "postgres" pour régler le problème ?
Ce qui m’inquiète également, c'est le paquet de démarrage incomplet.
Merci de votre aide.
Hors ligne
#4 28/08/2013 21:49:27
- gleu
- Administrateur
Re : Connexion distante vers le serveur [Debian 7.1- Ruby & Rails Pg 9.1]
Le message est très clair. Le mot de passe fourni par la connexion pour l'utilisateur postgres n'est pas le bon. Donc corrigez la chaîne de connexion pour qu'elle indique le bon mot de passe.
Guillaume.
Hors ligne
#5 28/08/2013 21:56:42
- SWAT
- Membre
Re : Connexion distante vers le serveur [Debian 7.1- Ruby & Rails Pg 9.1]
Bonsoir gleu,
désolé, mais je ne suis pas du tout à l'aise avec postgresQL, je débute et c'est ma première installation.
Cette ligne dans le pg_hba.conf ne le fait pas ? all -> n'est pas pour toutes les bases et tous les users ?
host all all 0.0.0.0/0 md5
Je sèche.
Hors ligne
#6 28/08/2013 22:18:16
- rjuju
- Administrateur
Re : Connexion distante vers le serveur [Debian 7.1- Ruby & Rails Pg 9.1]
Cette ligne indique que la connexion à votre postgres via une adresse IP doit se faire à l'aide d'un mot de passe. Il faut donc spécifier celui-ci dans votre application.
Julien.
https://rjuju.github.io/
Hors ligne
#7 28/08/2013 22:26:18
- SWAT
- Membre
Re : Connexion distante vers le serveur [Debian 7.1- Ruby & Rails Pg 9.1]
Je comprends, erreur stupide de ma part, je vérifie cela et vous tiens informé.
Merci pour votre aide et votre temps.
Hors ligne