** Avertissement, Il faut dire que mon ISP est Vidéotron. Celui ci bloque les connexions entrantes sur le port 80. Il se peut que vous ayiez un ISP qui ne bloque pas ce port. Auquel cas ce tutoriel ne vous sera d’aucune utilité. **

Ces derniers temps j’ai essayé d’accéder à mon serveur Ubuntu (Hardy Heron) à partir de l’extérieur de mon réseau local. J’ai installé le serveur web lighttpd sur ubuntu en suivant les indications sur un tutoriel et j’ai réussi à faire rouler des pages et des scripts CGI accessibles à partir de mes autres ordis de mon réseau local.

Oui, juste à partir de mon réseau local… Mais je me disais que ce serait bien de pouvoir y accéder à partir de mon travail. Alors je me suis pris un account chez dyndns pour avoir une adresse constante où aller chercher mon serveur.

Ensuite, ça ne fonctionnait pas lorsque je tentais un telnet à partir de mon serveur externe vers mon serveur à la maison. Pour cela j’allais sur le pratique api.ipify.org et je copiais mon adresse de mon réseau. et je faisais la commande :

telnet <adresse ip>:80 ou telnet <adresse dyndns>

Maintenant, je viens de trouver la solution. Il a fallu que j’alle dans les propriétés de mon routeur (Linksys WRT54G2). Pour cela j’ai tapé dans mon browser : 192.168.1.1, chez vous ce peut être aussi 192.168.0.1 … Là on se connecte à l’admin de son routeur, et selon le modèle du routeur, la marche à suivre sera un peu différente. En fait, cette procédure est appellée Port Forwarding. Transfert de port. Donc dans l’admin de mon routeur Linksys, j’ai une section qui est Applications & jeux . Là dedans il y a Transfert de connexion. C’est ici que ça se passe.

  1. Dans la colonne Application, tapez : http
  2. Dans Début tapez : 8080
  3. Dans Fin tapez : 8081
  4. Pour Protocoles, choisissez TCP et UDP, donc : les deux
  5. et pour l’adresse IP : entrez l’adresse IP de votre machine dans votre réseau local. C’est l’adresse de votre serveur Web qui a lighttpd d’installé.

Maintenant que vous avez changé vos configurations dans votre routeur, changez les configurations dans votre serveur Web.

Démarrez votre serveur Ubuntu qui a lighttpd d’installé.

Allez dans le répertoire où il y a le fichier de configuration de lighttpd (lighttpd.conf) et éditez le, dans mon cas c’est dans /etc/lighttpd/ , donc je tape :

sudo nano /etc/lighttpd/lighttpd.conf

Ensuite allez à la ligne où il y a server.port, et entrez la valeur 8080 au lieu de la valeur par défaut qui est 80. Cette ligne devrait maintenant ressembler à ceci :

server.port   = 8080

Petite parenthèse ici pour les gens qui utilisent Apache au lieu de lighttpd, je crois que pour vous, c’est dans le fichier httpd.conf qui est normalement dans /etc/httpd/. Et dans ce fichier, vous devez mettre une directive Listen 8080. Mais je ne suis pas certain, c’est à vous de vérifier. En fait je ne suis pas certain qu’il faille vraiment modifier ces choses dans votre config de serveur web. Tout ce que je sais c’est que ça marche pour moi.

Maintenant on redémarre le serveur lighttpd avec la commande suivante :

sudo /etc/init.d/lighttpd restart -f /etc/lighttpd/lighttpd.conf

Le premier chemin c’est le fichier exécutable de lighttpd, et le second (après le -f) c’est le chemin pour le fichier de configuration lighttpd.conf.

Voilà, c’est tout.

Maintenant, si vous voulez tester que votre serveur répond bien, allez dans un ordinateur hors de votre réseau local ou alors loguez vous en ssh à un serveur qui est à l’extérieur de votre réseau local et tapez la commande GET :8080 ou GET :8080

Pour savoir l’adresse de votre réseau, encore une fois, vous pouvez la trouver en allant sur whatismyipaddress.com à partir d’un ordinateur de votre réseau local.

Avec cette commande GET, vous devriez recevoir le html de votre page d’accueil qui est hébergée sur votre serveur. C’est tout!