Le serveur web

Connection à Apache depuis l'extérieur

Essayons de nous connecter depuis l'éterieur. Autrement dit depuis un PC qui est connecté autre part que sur la box ou routeur où est connecté notre serveur. Avec la 4G de notre smartphone par exemple. Pour cela, nous devons connaître l'adresse ip visible depuis l'extérieur appelée ip publique. Pour la trouver, rendez-vous sur le site:


http://mon-ip.com


Avant de nous rendre sur cette url, nous devons informer notre box ou routeur (celui où est connecté notre serveur) sur quel périphérique le PC client sera redirigé. Pour cela, connectez vous à votre box ou routeur et allez dans les configurations de routage. Dans un routeur de marque Linksys ou CISCO, cela est dans le menu Applicaions et jeux. Sur les livebox 2 (chez Orange), allez dans l'interface de configuration de réseau puis dans configuration avancée et dans la fenêtre réseau, cliquez sur l'onglet NAT/PAT.
Sur les livebox 2 (toujours chez Orange), cliquez sur réseau, puis cliquez sur NAT/PAT.
Une fois dans l'interface de configuration, ajoutez une entrée. Donnez lui le nom qu'il vous plait sa n'a pas d'importance. Ensuite dans le port interne, saisisez le port qu'écoute apache (80 par défault) et faites de même pour le port externe. Choisisez le protocole tcp. Ensuite saisiez l'adresse ip V4 du PC serveur (dans mon exemple de tout à l'heure, 192.168.0.111) et cliquez sur la case activer. Voila, la connection est prête à recevoir des clients de l'extérieur et les redirigés vers le port 80 et vers notre serveur.

Avec l'adresse ip:

Commençons par nous connecter avec l'adresse ip. Cette fois-ci nous n'allons pas mettre l'ip du serveur car nous ne somme pas connecté sur ce reseau, mais nous allons mettre l'ip du réseau ou est connecté le serveur si vous préférez l'ip public comme suis reprenons l'exemple de l'ip public 000.00.00.000:


http://000.00.00.000


N'oubliez pas rajouter :port en remplaçant port par le numéro de celui-ci si il est différent de 80.

Avec un nom:

Nous avons vu tout à l'heure qu'il était possible d'afficher un site en fonction de l'url saisie par l'utilisateur par le biais des hôtes virtuels. Retournons dans notre fichier où l'on a parametré les hôtes virtuels et dans l'instruction ServerName, remplacez monsite.fr par monsite par exemple. Pour vous connecter à votre serveur via l'url http://monsite depuis un périphérique connecté sur un autre réseau que le celui du serveur, vous devez ajouté ce nom dans le fichier hosts qui est dans le chemin suivant: /etc/hosts Ouvrez donc ce fichier avec les droits d'administration et avec votre éditeur de texte préféré. Après cette lignes-ci:


# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost


Ajoutez ceci:


127.0.0.1 monsite


Après sa, redemarrez le service apache. Pour rappel la commande est la suivante et remplacez service par apache2 si vous êtes sous Debian et httpd si vous êtes sous Fedora:


sudo systemctl restart service


Vous devez faire de même avec le périphérique qui va se connecter à votre serveur mais en remplaçant 000.00.00.000 par l'ip public d'où est connecté votre serveur (ip trouvée sur mon-ip.com). Dans mon exemple ci-dessus, mon fichier hosts de mon autre PC (celui qui va se connecter au serveur) aura les lignes suivantes:


127.0.0.1 localhost
000.00.00.000 monsite


Si apache écoute un autre port que le 80, reprenons l'exemple du port 2156, dans notre fichier hosts, on remplaçera 000.00.00.000 par:


000.00.00.000:2156


Après que cela est fait, nous pouvons maintenant accéder à notre serveur via l'url: http://monsite.