Un NDD (.com, .fr, etc) sur un serveur à IP dynamique grâce à CloudFlare.

server_cables

Un énorme problème pour un auto-hébergement, ne pas avoir une IP fixe forever, ça peut être aussi un problème sur des hébergements mutualisé mais ils ont généralement des serveurs DNS inclus dans leurs data-center.
 
Mais alors quel est le problème réel ?

Si je configure mon domaine, prenons le plus proche, ImnotGeek.com, il est enregistré sur GoDaddy, je peux soit l’envoyer sur un minimum de deux serveurs DNS soit vers une IP soit vers un lien http en redirection.

Mon problème ? Mempyre (la totalité de mes sites) sont maintenant sur un serveur Debian dans un appartement proche de Paris. Connecté en DMZ sur un routeur Netgear avec une connexion ADSL Orange (Switch vers la fibre d’ici trois mois). Et ce n’est pas nouveau, Orange change l’IP de ses clients tous les quatre jours environ.

La meilleure solution pour un cas pareil, où le serveur peut être hors ligne pour des raisons x est une passerelle comme CloudFlare, qui intègre une mémoire tampon des pages et un filtre d’attaques extérieures.
Ce qui est sympa, est que CF devient le DNS qui sera lié à GoDaddy et qu’il offre la gestion directe de l’IP de destination.

CF DNS settings

Explication (global) :
Quand tu tapes http://www.ImnotGeek.com/ la requête est envoyé à un des Gros serveurs DNS mondiaux, qui redirige vers les DNS de l’hébergement qui dirige vers l’IP du serveur contenant les fichiers de WordPress et le moteur PHP/MySQL/etc

Et dans mon cas, CloudFlare gère l’entré de demande d’IP des Gros DNS et renvoi la requête vers mon IP Orange, ce qui affiche le contenu que le serveur virtuel Apache à comme correspondance à l’adresse ImnotGeek.com.

J’ai une IP pour 11 sites. Apache gère sans soucis cette complexité.

CF connait mon IP domestique, Apache est configuré, miracle tout marche. Mais après plusieurs jours, plus rien, Oh rage, Oh désespoir, Oh changement d’IP.

Alors j’ai cherché un script pour la mise à jour automatique et j’ai trouvé, le script en question ne marchait pas, malgré des essais de recodage.
Mais l’intérêt de ce script est qu’il ma permit de comprendre comment il marchait (il est enfantin ce script). Il indique l’adresse https qui permet via une API de mettre à jour l’IP des paramètres du domaine dans la gestion de CF.

Apres des jours de réflexions et de tests, j’ai trouvé la solution pour la mise à jour de l’IP, une solution WTF, mêlant script et PHP.

___________________________________________________________________________________

Etape 1 : Récupérer l’IP externe de mon serveur.

Dans le terminal (connexion en SSH pour moi), il faut d’abord installer lynx.

su aptitude install lynx

Lynx est un navigateur web léger qui vas être bien utile.

Et maintenant tester la commande permettant de récupérer une IP de manière net.

lynx -dump http://whatismyip.com/ | grep -i "Your IP Address Is" | awk ‘{ print $5; }’

Miracle, cela répond l’IP de manière parfaite en X.X.X.X

lynx test ip

Il faut exporter ce résultat dans un fichier, qui pour moi sera ip.php , je le veux dans un répertoire visible sur le web et en local. Par exemple /var/www/siteexemple/IP , Donc en tapant http://siteexemple.com/IP/ on tombe dans le répertoire IP. Il est de plus impératif que ce « siteexemple.com » soit celui qui soit accessible depuis l’IP « http://X.X.X.X/IP/ » donc le site par défaut.

Pour avoir un export propre et facile, il faut crée un script en .sh, moi j’ai choisi ip.sh.
Pour le crée :

su nano /etc/ip.sh

Et y mettre dedans une ligne :

lynx -dump http://whatismyip.com/ | grep -i "Your IP Address Is" | awk ‘{ print $5; }’ >/var/www/siteexemple/IP/ip.php

Enregistré avec CtrlX, validé. Ayé un script est crée.

Pour le tester :

sh /etc/ip.sh

Et la, miracle, l’IP est exporté directement dans le dossier /IP/ du répertoire web dans le fichier ip.php

Pour recapituler, si on tape http://siteexemple.com/IP/ip.php ou http://X.X.X.X/IP/ip.php et sur le serveur directement http://localhost/IP/ip.php ont obtient le résultat de manière propre avec une IP.

 

___________________________________________________________________________________

Partie 2 : Etablir une mise a jour de l’IP sur CloudFlare.

Dans le répertoire /IP/ il faut crée une page par nom de domaine à mettre à jour.

Deux solutions, en terminal ou via un upload FTP ou SFTP ( FileZilla )

J’explique via le terminal, lancé la création du document siteexemple.php

su nano /var/www/siteexemple/IP/siteexemple.php

Un document vide s’ouvre, coller dedans une basique redirection web, l’adresse de la redirection est la mise à jour via API avec dedans le domaine, l’email du compte, la clé API et pour l’IP de fin, un include PHP du fichier auto générer de la partie 1, le ip.php

<html>
<head>

<title>Redirection IP SiteExemple</title>

<meta http-equiv="refresh" content="1; URL=https://www.cloudflare.com/api.html?a=DIUP&hosts=LENOMDEDOMAINE&u=LEMAILDUCOMPTE&tkn=LACLEAPI&ip=<?php include(‘ip.php’); ?>">
</head>

<body>
</body>

</html>

Puis sauvegardé. Pour tester, http://siteexemple.com/IP/siteexemple.php
Miracle, la redirection se fait, et CF répond.

 

Pour trouver la clé API :

CF API

___________________________________________________________________________________

Etape 3 : Automatiser le tout.

Dans le terminal, installer w3m :

su aptitude install w3m

Puis testé la commande de mise a jour :

w3m localhost/IP/siteexemple.php

lynx scriptlynx refreshlynx fin

Initialisé des actions à timing régulier, pour que toutes les 5min la mise à jour d’IP se fasse ainsi que l’exécution sur CF.

Dans le terminal :

su crontab –e

Rajouté une ligne pour la mise a jour IP :

5,15,20,25,30,35,40,45,50,55 * * * * sh /etc/ip.sh

Et une pour l’exécution CF :

5,15,20,25,30,35,40,45,50,55 * * * * w3m localhost/IP/siteexemple.php

 

crontab

Enregistré avec un CtrlX et normalement, l’ensemble est exécuté toutes les 5 minutes.

Fin

Je répondrais à vos questions dans les commentaires.

Suite »
Partager

Windows Live Space autorise la migration vers WordPress

Live Space - WordPressMicrosoft et Automattic ont signé un partenariat concernant la migration des Windows Live Spaces sur la plateforme WordPress.com.
WordPress.com, en quelques chiffres, c’est :
- 26 millions de sites référencés
- 250 millions de visiteurs par mois
- 8.5% de l’activité Web mondial
30 millions de comptes Live utilisent les Spaces. À partir du 29 Septembre et pendant les 6 prochains mois, les utilisateurs de Windows Live Spaces pourront migrer sur la plateforme WordPress.com avec l’aide d’un assistant.
Retrouvez toutes les infos sur cette annonce sur le blog Windows.

Suite »
Partager

Le boom des CMS

 

Montage CMS

Pour plus d’un geek cela semblera évident, mais pour le reste de nos lecteurs une petite précision s’impose. En effet le net devient une partie prenante de notre vie quotidienne, et qui dit net, dit site internet, et c’est ainsi que l’on voit fleurir de plus en plus de sites perso et blog perso. Certes le mouvement est en marche depuis un certain moment mais il n’a pas toujours été “facile” de créer son propre site web ou blog (et je ne parle pas là de skyrock, overblog, ou autre plateformes de blog a la personnalisation limitée et souvent arrosées de pub ! ).

CMS, Késako ?

Aujourd’hui, il est a la portée de tous de créer son propre site web, pour cela il existe les Systèmes de Gestion de Contenus (Content Management System ou CMS), ainsi vous connaissez peut être des noms comme Drupal, Joomla, Spip, Guppy, DotClear, et le moins connu, Contao …  sans oublier WordPress qui gère votre site préféré, Imnotgeek.com !

Ok c’est bien, mais c’est quoi ?  Et bien un CMS va vous faciliter une des taches primordiale dans la création d’un site web, c’est a dire de le coder !  Oubliez donc cette étape fastidieuse et courrez vite vous lancer dans l’aventure avec un CMS ! Celui ci va en effet, après installation sur un serveur (voir les explications en fin d’article), vous proposer un site vierge que vous pourrez entièrement personnaliser via une interface intuitive. Du CSS (c’est a dire l’habillage de votre site) à l’ajout de modules (contact, forum …) en passant par la gestion des utilisateurs et bien sur la publication de contenu grandement facilitée.

Lequel choisir et comment ?

Parmi la liste citée plus haut figurent les plus connus, mais bon nombre d’autres CMS sont encore à découvrir en fouillant la toile, certains ne seront pas en Français mais vous permettrons de faire des choses plus poussées que d’autre. Sachez aussi qu’un CMS est en constante évolution, ainsi des mises à jour sont faites régulièrement et une communauté plus au moins importante est toujours là  pour vous apporter aide et améliorations. Vous avez donc deux choix, soit en essayer plusieurs pour réellement juger des possibilités et des limites de ceux ci afin de vous former une opinion quand à vos attentes (ce que je vous conseille), ou bien faire confiance à l’un des plus populaire comme Drupal, Joomla, Spip ou WordPress.

Cependant  tous ne sont pas pareil, ainsi Drupal, Joomla, Guppy, Spip et Contao vous permettrons de gérer un site, WordPress et Dotclear un blog, d’autres comme phpBB et Piwigo vous permettrons de gérer respectivement un forum et une galerie photo.

Comment l’installer ?

Encore une fois cela n’a rien de sorcier ! Il vous suffit donc de télécharger l’archive contenant l’instal du CMS sur le site de celui ci et de transférer cette archive sur votre serveur (décompressée ou non suivant les serveur). Pour le transfert ftp vous utiliserez le très bon et gratuit Filezilla ou la solution en ligne fournie par votre hébergeur.

Vous avez compris, si vous avez toujours rêvé d’avoir votre propre site web, l’utilisation d’un CMS est LA solution facile est gratuite dont vous disposez pour le créer, alors n’hésitez plus : Lancez vous !

Suite »
Partager