SheevaPlug

Quatre ans !

Monday, 04 August 2014
|
Écrit par
Grégory Soutadé

Gâteau anniversaire 4 ans

l'année dernière je disais que l'amour dure trois ans. Visiblement il y en a une de plus ! Côté publications, c'est cette année 49 articles dont 4 en anglais. Plutôt pas mal sachant que la section cinéma a été fermée, n'étant pas suffisamment intéressante. Seuls les films qui méritent vraiment le coup (comme le fameux "Libre et assoupi") seront sujets à article. Pour parler cinéma, je trouve que cette année, sans être extraordinaire, a été bien meilleure que la précédente !

Côté serveur, ça fait donc quatre ans que le Sheevaplug tourne avec une seule panne l'année dernière ! Il tient parfaitement la charge (merci nginx !), même s'il manque un peu de pêche pour faire tourner Dynastie (écrit en Python avec le framework Django). D'ailleurs, je trouve la syntaxe Markdown vraiment agréable pour rédiger des articles tant que ceux-ci n'ont pas de formatage complexe, sinon je repasse en HTML. J'ai aussi abandonné mon certificat SSL Gandi pour un auto-signé. C'est moins bien pour l'utilisateur, mais au moins je connais tous les maillons de la chaîne de signature !

Concernant la fréquentation, mon article favoris, mis à part une embellie à la fin de l'année passée, est de moins en moins consulté. Le serveur a aussi servi de relais à des pirates dans le but de faire télécharger à un autre serveur de grosses quantités de données pour, je suppose, créer un déni de service (DDoS), c'est à dire faire tomber sa connexion. Les administrateurs de moxiecode.com (auteurs de tinyMCE) à l'origine de la faille n'ont pas réagi, j'ai donc simplement coupé l'accès au fichier en question (de 4Mo quand même).

Voici un aperçu des articles les plus consultés avec leur date de parution (sur un an) :

Les liens en gras sont surtout consultés pour les images.

En ignorant l'attaque du début de l'année (à la louche), les chiffres sont :

  • 49 articles (50, 60, 60)
  • 25 000 visites (12 000, 18 000, 9 000)
  • 5.5 Go de données envoyées (2, 5.7, 2.7)

Entre parenthèses, ce sont les chiffres des années précédentes. On peut donc considérer que c'est une très bonne année, sans effet linuxfr qui plus est (gPass n'a eu qu'un succès relatif...) ! Même si la moitié des visites ne concernent qu'un seul article...

Pour la suite, je vais peut être créer une catégorie "ballades" si j'en viens à faire plus de "reportages" photos comme le "Chemin du paradis", "Expo roses" ou encore "Le plan des Noves". Il faut juste que je fasse attention car les images sont très consommatrices de bande passante, donc éviter de mettre plusieurs articles sur une même page d'index !! On verra si j'aurai autant d'inspiration que pour cette année (le mois de mai a été particulièrement fertile). En tout cas, il y a déjà un article en préparation qui risque de faire du bruit !!!

36h

Tuesday, 15 July 2014
|
Écrit par
Grégory Soutadé

36 heures d'interruptions, ce sont les joies de l'auto hébergement... Tout commence par une (je suppose) mise à jour de la livebox. Chouet, une nouvelle interface eye candy, mais toujours pas de support de l'IPv6 et moins de contrôle de la livebox... S'ensuit naturellement une déconnexion intempestive. On débranche tout, on rebranche, on fait un reset (non !!!!!!!!!!!).

Bref, il faut vingt-quatre heures pour que je puisse intervenir physiquement sur la box, puis encore deux heures pour retrouver ce satané mot de passe de connexion (heureusement enregistré dans un ancien profil de Firefox). À priori tout est OK, pourtant le serveur n'est pas accessible depuis l'extérieur. Sûrement les DNS qui n'ont pas encore été mis à jour. En fait non, le reset avait aussi effacé les règles NAT. Cinq heures pour m'en rendre compte !

Maintenant tout est redevenu normal (sauf erreur que je n'aurais pas encore rencontrée). Tout ceci souligne (mais je le savais) la fragilité de l'installation :

  • Pas de serveur de secours
  • Pas d'IP fixe (donc coupures régulières de DNS, merci Orange)
  • Pas de carte d'accès à distance style DRAC

Vivement la réplication sur un autre site physique avec un fournisseur d'accès internet indépendant comme FDN et un vrai modem routeur (pas de services inutiles comme le téléphone, la télévision...). Le tout relié à un serveur un peu plus musclé comme l'alléchante Cubox-i2eX. L'idéal serait même un modem sous *BSD pour limiter les backdoors de la NSA/DGSE !

Debian Wheezy

Saturday, 11 May 2013
|
Écrit par
Grégory Soutadé

Logo Debian

La dernière version stable de Debian (Wheezy 7.0) est officiellement sorti le week end dernier. Le temps de laisser les sys admins du monde entier se ruer sur cette nouvelle mouture, j'ai moi aussi franchi le pas du apt-get upgrade ! Mis à part quelques fichiers de configs (dont le mail) et la mystérieuse disparition du serveur MySQL ?? la mise à jour s'est effectuée sans accrocs. Dans deux ou trois releases on sera paré pour les 5 prochaines années !

Au passage, le dégel de testing (Jessie) m'a permis d'installer le tant attendu e17 (enlightenment). Il y a encore quelques bugs qui doivent être corrigés dans sa version stable (dans experimental pour le moment) mais je dois reconnaître que, passer le thème de base relativement moche, il y a pas mal d'avancées par rapport à e16. Vivement qu'elle passe en testing !

Merci Debian !

Notification par SMS

Tuesday, 19 February 2013
|
Écrit par
Grégory Soutadé

SMS in classroom

Un serveur perso c'est bien, un serveur auto hébergé c'est très bien, mais un serveur auto hébergé qui a planté, c'est nul ! L'inconvénient du plantage système est qu'il ne prévient pas, du coup la durée d'indisponibilité peut être longue si l'on ne s'en rend pas compte.

Pour pallier à ce problème, j'ai fait un petit retour vers OVH. Mon compte n'ayant pas été clôturé après la migration du nom de domaine, j'en ai profité pour acheter un pack SMS. Pour environ 10€ TTC, j'ai 100 SMS que je peux envoyer via le web. Ce petit script bash permet de me notifier lorsque le serveur tombe. Bien sûr, il faut pouvoir l'exécuter sur un PC connecté h24...

L'idée est de faire un HEAD sur la favicon de mon blog (qui n'existe pas et qui n'apparaît pas dans les log). La requête est exécutée toutes les 10 minutes. Au bout de 3 échecs successifs (pour éviter les problèmes de changement d'IP), un SMS est envoyé et le script quitte.

#!/bin/bash BASE_URL="https://www.ovh.com/cgi-bin/sms/http2sms.cgi" ACCOUNT="sms-sgXXXXX-1" LOGIN="BBBBBB" PASSWORD="YYYYYYYY" FROM="SOUTADE" TO="%2B33666ZZZZZZ" #+33666ZZZZZZ MESSAGE="Cybelle%20is%20down" # Cybelle is down MAX_TRIES=3 TARGET="http://blog.soutade.fr/favicon.ico" request="$BASE_URL?account=$ACCOUNT&login=$LOGIN&password=$PASSWORD&from=$FROM&to=$TO&message=$MESSAGE&noStop=1" #echo $request tries=$MAX_TRIES while [ 1 ] ; do HEAD $TARGET | grep "404" >/dev/null # Found if [ $? -eq 0 ] ; then # Reset counter if [ ! $tries -eq $MAX_TRIES ] ; then tries=$MAX_TRIES fi else # Fail tries=`expr $tries - 1` fi # No more tries, send notification and exit if [ $tries -eq 0 ] ; then GET "$request" break fi sleep 10m done

PS : Pour utiliser le script, il faut créer un nouvel utilisateur et ajouter un expéditeur depuis l'interface OVH. Attention, les champs doivent être encodés sous la forme URL (voir la partie "encode" de http://soutade.fr/urlunshortener)

I believe I can fly

Sunday, 27 January 2013
|
Écrit par
Grégory Soutadé

Mon Sheeva est tombé un lundi matin (le 7 janvier). J'ai reçu l'alimentation deux semaines plus tard... Le serveur a pu redémarrer vers 16h, mais les plus attentifs auront remarqué que le blog était en ligne depuis le mardi 8 janvier 11h. C'est le résultat de mes premiers pas dans les nuages. La situation est critique : l'alimentation a lâchée, pas de serveur de secours sous la main (mais les sauvegardes sont là), pas de serveur distant, impossible de laisser tourner un PC h24 et (a priori) quelques jours à attendre avant d'avoir la pièce de rechange.

Le blog est la partie la plus visitée, il fallait au moins essayer de le remettre en ligne. Pour le coup, le passage à un blog statique simplifie énormément les choses ! Bref il faut trouver un petit espace de stockage en ligne pour pas longtemps et pas trop cher (tant pis pour les autres services, ils ne sont pas critiques et je ne voulais pas perdre du temps à configurer une instance qui sera détruite par la suite).

Goku sur son nuage

Je suis référencé chez Gandi, j'ai donc cherché par là. Concernant les sites web simples, ils ne proposent que la création via Gandi BaseKit ou Sitemaker à partir de 5€ par mois. Sinon, ils ont une solution "Simple Hosting" : un pack PHP/MySQL ou PHP/PostGre à partir de 5€/mois, ça pourrait presque être adapté, mais je ne voulais pas souscrire pour un mois. Enfin, dernière option : les nuages (le cloud) : louer une part d'un serveur que l'on peut relâcher quand on n'en a plus besoin. Bingo ! Je paye via mon compte pré payé (le surplus servira pour le renouvellement du nom de domaine). Une fois l'instance crée avec une Debian stable 64 bits (quelques minutes), un petit SSH, on installe emacs, nginx, un autre coup de scp, on reconfigure la zone DNS et roulez jeunesse, le blog est de nouveau en ligne. Les mails sont redirigés sur le webmail de Gandi. C'est une solution de secours flexible, pas chère (0.50 euros par jour) et très intéressante (surtout quand on a déjà tous les fichiers de conf) puisqu'on maîtrise tout (ce qui est plus facile pour adapter son ancienne configuration) avec en prime une addresse IPV6. Pour ce prix-là, j'ai :

  • 1 coeur dédié
  • 512Mo de mémoire
  • 12 Go de disque
  • Une connexion 10Mbits

De loin on pourrait dire que c'est à peu près la même chose que le Sheeva (hors débit de la connexion), sauf qu'en fait ça va VRAIMENT plus vite. Suite à l'aller-retour de l'alimentation en Angleterre (...), j'ai quand même ré installé la majorité des services sur l'instance.

En réalité, ça fait quelques semaines que j'y pensais. Lorsque ce sera possible, il faudrait installer un serveur de secours (fallback) pour faire face à un problème matériel, un crash de disque ou même une connexion qui tombe. C'est un gros problème de l'auto hébergement : pas de réplication des ressources. Tandis que dans les gros datacenter de Gandi, tout est virtuel, dupliqué 15 fois sur plusieurs sites physiques et avec des débits plus qu'intéressants. Bref, avoir deux serveurs physiques c'est presque jouable (ami, famille ...). Les problèmes sont les suivants :

  • Le DNS : si l'IP change tout le temps des deux côtés, c'est galère. On doit s'appuyer sur un serveur DNS fixe et éditer les zones en évitant les conflits (ou activer/désactiver manuellement l'édition des zones sur le serveur qui va bien). Il faut au moins avoir une IP fixe sur les deux (pour avoir un DNS primaire/secondaire).
  • Les données utilisateurs : un simple rsync suffit
  • Les projets versionnés : a priori une simple copie des fichiers suffit, mais c'est plus élégant de faire un clone/checkout des dépôts
  • Base de données : la plupart des moteurs incluent un système de maître/esclave

Il existe quelques solutions qui prennent en compte tous ces paramètres ou faire un script perso, reste plus qu'à le mettre en place si j'achète un nouveau serveur !

Concernant ma solution dans les nuages, je pourrais aussi faire un script de migration (copie, installation et configuration des paquets sur un nouveau serveur virtuel).

Et pour le plaisir :