Accès PHP via phpMyAdmin sur un serveur distant

JonasMaz
Invité n'ayant pas de compte PHPfrance

21 déc. 2016, 00:48

Bonjour à tous,

Ceci est ma première participation et je vous présente par avance mes excuses pour la naïveté de mon propos et mon incompétence en la matière. J'ai cherché réponse à ma question sur le forum mais ne suis pas certain d'avoir utilisé les bons mots pour le faire, ce pour quoi je poste ici.

Débutant en PHP (apprentissage des bases à l'Université), j'ai installé un serveur LAMP sur mon Raspberry Pi 3 (sous Raspbian) et m'y connecte régulièrement en local pour gérer ma base de données.
Sur mon propre réseau Wifi, je me sers également de mon PC Windows pour accéder à cette base grâce à mes identifiants, en passant par http://adresse_ip_du_raspberry/phpmyadmin. Aucun souci jusque là, tout fonctionne.

Cependant, j'aimerais pouvoir me connecter à cette base (toujours via phpMyAdmin), depuis un autre réseau que mon réseau maison (en l'occurrence, depuis la fac). Seulement, je ne sais pas comment procéder. Je ne sais pas si des précisions supplémentaires sont nécessaires mais, le cas échéant, je vous les donnerai au plus vite.
Je vous précise que, comme cela semble être une préoccupation récurrente d'après ce que j'ai vu sur divers forums, la question de la sécurité des données m'importe peu pour le moment.

Je vous remercie par avance pour l'aide que vous voudrez bien m'apporter :)
Jonas.

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7375 Messages

21 déc. 2016, 10:46

Bonjour,

Voici les étapes pour cela :

1) Il te faut connaitre ton adresse IP publique (assignée par ton fournisseur d'accès)
:arrow: Pour cela c'est relativement simple, depuis un ordinateur connecté à ta box, va à l'adresse : http://www.connaitre-son-ip.com


2) Ensuite c'est là qu'il y a un point important, il faut vérifier que ton FAI te fournit une adresse IP fixe (c'est à dire qui ne changera pas dans quelques semaines).
Il y a un tableau ici qui pourra t'aider :
https://lafibre.info/ftth-la-fibre-opti ... -francais/
:arrow: S'il est indiqué que c'est une IP fixe, alors tout est bon et tu peux aller à l'étape 3)
:arrow: S'il est indiqué que c'est une IP dynamique, alors il faut que tu demandes à ton FAI si il peut la rendre fixe (en général c'est une option qu'ils peuvent activer).

:idea: Si malgré tout ton FAI n'a pas la possibilité de rendre fixe ton adresse IP, la plupart des box des FAI ont une option dans leur panneau d'admin appelée "DDNS", "DynDNS" ou "DNS dynamique" pour utiliser un service de type Dyn-DNS.com (payant) ou son équivalent gratuit noIP dont le boulot est de te fournir un nom de domaine qui prendra en compte automatiquement et quasi immédiatement les changements d'adresse IP de ta box.
:!: Si ton FAI ne te fournit pas d'IP fixe et n'a pas d'option dans sa box pour faire du DynDNS/noIP alors tu as 2 solutions :
- intégrer dans ton RaspberryPi la fonctionnalité de DDNS (doc ici)
- ou changer de FAI (ce que je te recommande dans ce cas)

Maintenant on a donc ton adresse IP ou ton domaine "DDNS" => C'est la clé pour que les ordinateurs sur internet depuis partout dans le monde puisse arriver jusqu'à chez toi.


3) Il faut désormais rendre fixe l'adresse IP de ta raspberryPi sur ton réseau local, car par défaut les box des FAI sont en DHCP et assigne une adresse IP dynamique à chaque ordi/serveur/téléphone connecté dessus après chaque redémarrage de la box.
:arrow: Donc rendez-vous dans le panneau d'admin de ta box, là tu dois avoir une section "DHCP" dans laquelle tu dois pouvoir ajouter une règle pour rendre statique l'attribution d'une adresse IP en fonction d'une adresse MAC.
L'adresse MAC c'est l'adresse physique de la carte réseau de ton RaspberryPi dans ton cas, si tu fais un ifconfig -a sous Linux, et regarder la ligne

Code : Tout sélectionner

HWaddr 00:08:C7:1B:8C:02
Ici 00:08:C7:1B:8C:02 c'est l'adresse MAC de la carte réseau de ton périphérique.
Et donc dans ta box, on va demander à ce que l'adresse MAC "00:08:C7:1B:8C:02" se voit attribuer toujours l'adresse IP locale 192.168.0.200 (attention, les 3 premiers nombres doivent correspondre à la plage d'adresse IP locale déjà délivrée par ta box), pour le dernier tu es libre de le choisir entre 1 et 253, il faut le prendre en dehors de la plage que le DHCP peut attribuer mais sur un réseau local perso (cf sa configuration dans le panneau d'admin de ta box), en général en prenant 200 tu es tranquille.


4) Donc maintenant, si je résume :
- Si un ordinateur connecté à ton réseau local derrière ta box, tape l'adresse IP fixe de ton RaspberryPi (étape3), ça va marcher.
- Si un ordinateur connecté à internet ailleurs dans le monde en tapant ton adresse IP publique (étape 2), il va avoir un message d'erreur.

La raison est que l'internaute qui arrive depuis internet va arriver jusqu'à la box de ton FAI située chez toi, mais que ta box ne saura pas pourquoi un internaute arrive le voir.
Donc maintenant il faut dire à la box de ton FAI que les connexions entrantes sont à transmettre vers ton Raspberry Pi.
:arrow: Rendez vous donc dans le panneau d'admin de ta box et il faut chercher la section "Redirection de ports" ou "NAT" et là tu indiques que le port 80 (celui pour accéder à une page web) en TCP doit être renvoyé vers l'adresse IP de ta Raspberry Pi (étape 3)


:arrow: Et voila ! :D




5) [optionnel, à faire quand le reste fonctionne] Si tu as une IP fixe, je te recommande d'acheter un nom de domaine, par exemple chez Gandi à 14€/an pour que l'adresse que tu communiques pour contacter ta Raspberry Pi soit un nom de domaine que tu auras choisi plutôt que l'adresse IP publique fournie par ton FAI qui va forcément changer le jour ou tu déménages ou que tu changes de FAI. :)
Quand tout le reste a échoué, lisez le mode d'emploi...

JonasMaz
Invité n'ayant pas de compte PHPfrance

21 déc. 2016, 17:29

Je ne sais pas comment te remercier... :D
Tout marche à merveille, et je crois que j'ai compris pas mal de choses.
J'avais déjà fait une manipulation semblable, mais je n'avais jamais réalisé l'étape de "redirection des ports" : si je comprends bien, la requête vers ma Box ne renvoyait rien car elle n'accédait à aucun "serveur" ?
Merci infiniment !
Jonas

Mammouth du PHP | 873 Messages

21 déc. 2016, 18:13

oui, un serveur web n'est pas en attente de connexion sur le port 80 de la box, d'où pas de réponse sans nat.