Vous n'êtes pas identifié(e).
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
Bonjour.
Vous devriez d'abord commencer par masquer votre ip internet, on ne sait jamais
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)
Julien.
https://rjuju.github.io/
En ligne
merci pour cette réponse rapide, adresse IP masquée
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
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)
Julien.
https://rjuju.github.io/
En ligne
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
Hors ligne
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)
Julien.
https://rjuju.github.io/
En ligne
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
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)
Julien.
https://rjuju.github.io/
En ligne