PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 29/12/2011 17:53:56

Morby
Membre

Serveur sous Win7, comment s'y connecter depuis Linux sous Virtualbox

bonjour à tous, je suis étudiant (formation de reconversion), débutant complet en SGBD. D'habitude je travaille sur le serveur de l'université, mais pas mal de fonctions sont verrouillées, et pour les besoins d'un projet j'ai besoin d'avoir mon propre serveur afin de pouvoir créer des utilisateurs, faire des grant, etc...

Chez moi j'ai installé Postgres 9.1 (pgAdmin 1.14.1) sur mon PC fixe Windows 7, je peux m'y connecter avec l'outil SQL Shell, créer une table etc... ça fonctionne.  Pour mes cours je travaille sous Linux Fedora (15), lequel tourne sous Virtualbox 4.1.8 sur ce même ordi, mais aussi sur un ordi portable

MON PROBLEME : sur mon PC fixe, pas moyen depuis ma VM-Fedora de me connecter à la base qui, elle, tourne sous le Windows natif.
Quelle adresse dois-je taper en console linux pour me connecter ?

ma config Windows 7 :
IP Internet : xxxxxxxxxx
IP locale 192.168.1.11
masque : 255.255.255.0


ma config pg_hba.conf :
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# 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.
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5


sur ce même PC, ma config Fedora 15 qui tourne en parallèle sous virtualbox :
IP : 127.0.0.1
masque : 255.0.0.0
paquet "psql" installé


Autre cas de figure : la semaine je bosse sur un PC portable depuis ma chambre d'étudiant, lui aussi sous Win7 avec une Fedora15 qui tourne sous virtualbox. Quelle adresse devrais-je rentrer pour me connecter à ma base qui tournera chez moi ?

j'ai conscience que ces question peuvent paraitre hautement stupides, mais quand on débute et qu'on est pas anglophone, c'est pas facile de trouver l'info, surtout sur des prbs aussi basiques...

Dernière modification par Morby (29/12/2011 18:26:44)

Hors ligne

#2 29/12/2011 18:21:03

rjuju
Administrateur

Re : Serveur sous Win7, comment s'y connecter depuis Linux sous Virtualbox

Bonjour.
Vous devriez d'abord commencer par masquer votre ip internet, on ne sait jamais smile

Sinon, à priori cela relève plus de la configuration de virtual box que de postgresql. Je ne connais pas cet outil spécifiquement, mais généralement les logiciels de virtualisations permettent plusieurs mode de configuration réseau, partager l'adresse ip, utiliser le dhcp de l'ordinateur hote, ou créer une adresse ip nattée avec l'hote par exemple. Il faut donc que vous trouviez l'adresse de votre win7, vue depuis votre machine virtuelle, l'adresse 127.0.0.1 n'étant qu'un alias pour l'adresse locale.

Pour la semaine, il va falloir que vous configuriez votre réseau et firewall  chez vous pour que le port de postgresql (5432 par défaut) soit accessible depuis internet. Selon votre configuration (routeur, box, modem) la marche à suivre sera différente. Une fois cette étape passée, vous vous connecterez avec votre ip internet depuis votre chambe d'étudiant sans soucis (mais avec une latence du à la connexion distante).

Dernière modification par rjuju (29/12/2011 18:26:21)

Hors ligne

#3 29/12/2011 18:38:25

Morby
Membre

Re : Serveur sous Win7, comment s'y connecter depuis Linux sous Virtualbox

merci pour cette réponse rapide, adresse IP masquée smile

au niveau local, mon Win7 arrive à pinger l'adresse IP virtuelle de la VM en 127.0.0.1
de meme ma VM arrive à pinger l'IP locale de mon win7 en 192.3168.1.11

pour ce qui est de l'ouverture de ports sur mon routeur/firewall pour permettre la connexion extérieure, je suppose que je dois ouvrir en UDP+TCP le port 5432 ?


par contre je ne sais tjrs pas ce que je dois taper sous linux pour tenter d'établir la connexion à la base !

quand je veux me connecter sur le serveur de l'université je tape :
> ssh u0@bambou.xxxxxxxxxxxxxxxx.fr
ensuite on me demande un password et j'ai un prompt de type : u0@db:~$

ensuite je tape :
> psql template1
on me redemande un password, et là je peux commencer à bosser....

quelle adresse dois-je rentrer pour me connecter en locale, ou bien depuis l'extérieur ?

Hors ligne

#4 29/12/2011 19:45:27

rjuju
Administrateur

Re : Serveur sous Win7, comment s'y connecter depuis Linux sous Virtualbox

Pour l'ouverture de port, tcp est suffisant pour postgresql.
Si vous n'êtes pas en connexion directe mais derrière un routeur ou une box, il faut configurer la box pour ajouter un nat, c'est-à-dire renvoyer un port spécifique (5432 par exemple) externe vers une adresse ip spécifique et un port spécifique (dans votre cas 192.168.1.11 et port 5432).

Si votre vm peut pinger votre win7, vous pouvez utiliser votre ip local pour vous connecter depuis un terminal :
psql -h 192.168.0.111 -U postgres nom_de_la_base

en supposant que vous avez pris l'utilisateur par défaut "postgres". Si vous n'avez pas créé de base de donnée encore, utilisez la base de donnée postgres.

Si cela fonctionne, vous pouvez ensuite tester l'ouverture de port en changeant l'adresse ip locale par l'adresse ip internet.

Dernière modification par rjuju (29/12/2011 19:46:48)

Hors ligne

#5 29/12/2011 19:58:13

Morby
Membre

Re : Serveur sous Win7, comment s'y connecter depuis Linux sous Virtualbox

effectivement, je n'ai pas créé d'utilisateurs et quand je me suis connecté sous windows j'ai utilisé le log postgres
je n'ai pas non plus créé de base spécifique, ya juste une base nommée postgres dont voici le détail :
CREATE DATABASE postgres
  WITH OWNER = postgres
       ENCODING = 'UTF8'
       TABLESPACE = pg_default
       LC_COLLATE = 'French, France'
       LC_CTYPE = 'French, France'
       CONNECTION LIMIT = -1;

COMMENT ON DATABASE postgres
  IS 'default administrative connection database';

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

voila ce que donne le code que vous m'avez indiqué sur ma VM-Fedora :

[morby@VM-Fedora ~]$ psql -h 192.168.1.11 -U postgres
psql: FATAL:  aucune entre dans pg_hba.conf pour l'hte  192.168.1.11 , utilisateur  postgres ,
base de donnes  postgres , SSL inactif

ou encore :
[morby@VM-Fedora ~]$ psql -h 192.168.1.11 -U postgres postgres
psql: FATAL:  aucune entre dans pg_hba.conf pour l'hte  192.168.1.11 , utilisateur  postgres ,
base de donnes  postgres , SSL inactif


sad

Hors ligne

#6 29/12/2011 20:23:05

rjuju
Administrateur

Re : Serveur sous Win7, comment s'y connecter depuis Linux sous Virtualbox

Ah exact, il faut donc modifier le pg_hba.conf et ajouter la ligne suivante :

host    all             all             192.168.1.0/24            md5

et recharger la configuration (ou redémarrer le serveur à défaut) et ça devrait être bon.
Cette ligne autorise toutes les ip commençant par 192.168.1.xxx à se connecter.

Lorsque vous utiliserez ce serveur depuis votre chambre d'étudiant, il faudra ajouter internet disponible dans votre chambre d'étudiant (ou plage s'il s'agit d'un dhcp).

Dernière modification par rjuju (29/12/2011 20:24:27)

Hors ligne

#7 29/12/2011 23:58:17

Morby
Membre

Re : Serveur sous Win7, comment s'y connecter depuis Linux sous Virtualbox

super, ça fonctionne, un grand merci ^^


depuis ma chambre d'étudiant, je passe par une Livebox en DHCP.
je doit déclarer donc déclarer l'adresse IP internet de la box dans mon fichier pg_hba.conf ?
comme ceci ? :
host    all             all            IP-de-la-box-de-ma-chambre-etudiant            md5

est-ce que je devrais aussi paramétrer la box de ma chambre d'étudiant pour router le port 5432 ?

Hors ligne

#8 30/12/2011 00:42:03

rjuju
Administrateur

Re : Serveur sous Win7, comment s'y connecter depuis Linux sous Virtualbox

oui, exactement pour l'adresse de la box.
Sinon, aucune manipulation supplémentaire n'est nécessaire sur la box de votre chambre d'étudiant, ce sont les ports en entrée (donc sur votre pc serveur) qui sont à configurer, ceux en sortie se font automatiquement.

Dernière modification par rjuju (30/12/2011 01:37:33)

Hors ligne

Pied de page des forums